aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/softirq.h
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-04-14 10:44:29 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-04-14 10:44:29 +0100
commit58f293ed52f73282e8e71db854801a06aa0a168e (patch)
tree6808b71d452896ca16114427357ee0106d81624b /xen/include/xen/softirq.h
parent822cdd45d1eb196b569da50ebde213b8a8330634 (diff)
downloadxen-58f293ed52f73282e8e71db854801a06aa0a168e.tar.gz
xen-58f293ed52f73282e8e71db854801a06aa0a168e.tar.bz2
xen-58f293ed52f73282e8e71db854801a06aa0a168e.zip
Per-cpu tasklet lists.
Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/include/xen/softirq.h')
-rw-r--r--xen/include/xen/softirq.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/xen/include/xen/softirq.h b/xen/include/xen/softirq.h
index b02c8e2509..0e3c4ea5f2 100644
--- a/xen/include/xen/softirq.h
+++ b/xen/include/xen/softirq.h
@@ -47,7 +47,7 @@ void process_pending_softirqs(void);
struct tasklet
{
struct list_head list;
- bool_t is_scheduled;
+ int scheduled_on;
bool_t is_running;
bool_t is_dead;
void (*func)(unsigned long);
@@ -55,10 +55,12 @@ struct tasklet
};
#define DECLARE_TASKLET(name, func, data) \
- struct tasklet name = { LIST_HEAD_INIT(name.list), 0, 0, 0, func, data }
+ struct tasklet name = { LIST_HEAD_INIT(name.list), -1, 0, 0, func, data }
+void tasklet_schedule_on_cpu(struct tasklet *t, unsigned int cpu);
void tasklet_schedule(struct tasklet *t);
void tasklet_kill(struct tasklet *t);
+void migrate_tasklets_from_cpu(unsigned int cpu);
void tasklet_init(
struct tasklet *t, void (*func)(unsigned long), unsigned long data);