aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xen/common/stop_machine.c2
-rw-r--r--xen/common/tasklet.c1
2 files changed, 1 insertions, 2 deletions
diff --git a/xen/common/stop_machine.c b/xen/common/stop_machine.c
index 99604cde32..9f5dd1e799 100644
--- a/xen/common/stop_machine.c
+++ b/xen/common/stop_machine.c
@@ -98,7 +98,6 @@ int stop_machine_run(int (*fn)(void *), void *data, unsigned int cpu)
for_each_cpu_mask ( i, allbutself )
tasklet_schedule_on_cpu(&per_cpu(stopmachine_tasklet, i), i);
- sync_local_execstate();
stopmachine_set_state(STOPMACHINE_PREPARE);
local_irq_disable();
@@ -121,7 +120,6 @@ static void stopmachine_action(unsigned long unused)
{
enum stopmachine_state state = STOPMACHINE_START;
- sync_local_execstate();
smp_mb();
while ( state != STOPMACHINE_EXIT )
diff --git a/xen/common/tasklet.c b/xen/common/tasklet.c
index 1ee2758663..05665ebc5d 100644
--- a/xen/common/tasklet.c
+++ b/xen/common/tasklet.c
@@ -76,6 +76,7 @@ void do_tasklet(void)
t->is_running = 1;
spin_unlock_irq(&tasklet_lock);
+ sync_local_execstate();
t->func(t->data);
spin_lock_irq(&tasklet_lock);