diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-04-19 17:48:20 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-04-19 17:48:20 +0100 |
commit | 346da00456eb20d41406a72e2e28f27429aca810 (patch) | |
tree | 4fab317b3cb3f5cfeff29381f3362f6c45eab456 /xen/common/tasklet.c | |
parent | b30a2c542669d37e0f33f959cdb49a1384fe52c4 (diff) | |
download | xen-346da00456eb20d41406a72e2e28f27429aca810.tar.gz xen-346da00456eb20d41406a72e2e28f27429aca810.tar.bz2 xen-346da00456eb20d41406a72e2e28f27429aca810.zip |
Synchronise lazy execstate before calling tasklet handlers.
This ensures we are properly running on idle-vcpu state, which certain
things (e.g., use of vmx_vmcs_{enter,exit}) rely on. It also means we
don't need to do the same thing in the stopmachine_run handler.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/common/tasklet.c')
-rw-r--r-- | xen/common/tasklet.c | 1 |
1 files changed, 1 insertions, 0 deletions
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); |