diff options
author | Keir Fraser <keir@xen.org> | 2010-11-16 13:01:43 +0000 |
---|---|---|
committer | Keir Fraser <keir@xen.org> | 2010-11-16 13:01:43 +0000 |
commit | 430203d65f9e17b22b4a7ba404f535a7bba1a1ff (patch) | |
tree | 7c5e2b65b59bb3eb0179fee04c5d2134f5cc8530 /xen/common/multicall.c | |
parent | 43e7d2b21a0ccfdb23de338987edf3da05d50e22 (diff) | |
download | xen-430203d65f9e17b22b4a7ba404f535a7bba1a1ff.tar.gz xen-430203d65f9e17b22b4a7ba404f535a7bba1a1ff.tar.bz2 xen-430203d65f9e17b22b4a7ba404f535a7bba1a1ff.zip |
Make multicall state per-vcpu rather than per-cpu
This is a prerequisite for allowing guest descheduling within a
hypercall.
Signed-off-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/common/multicall.c')
-rw-r--r-- | xen/common/multicall.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/xen/common/multicall.c b/xen/common/multicall.c index 7ee21b47c1..58b96b28a3 100644 --- a/xen/common/multicall.c +++ b/xen/common/multicall.c @@ -15,7 +15,6 @@ #include <asm/hardirq.h> #ifndef COMPAT -DEFINE_PER_CPU(struct mc_state, mc_state); typedef long ret_t; #define xlat_multicall_entry(mcs) #endif @@ -24,7 +23,7 @@ ret_t do_multicall( XEN_GUEST_HANDLE(multicall_entry_t) call_list, unsigned int nr_calls) { - struct mc_state *mcs = &this_cpu(mc_state); + struct mc_state *mcs = ¤t->mc_state; unsigned int i; if ( unlikely(__test_and_set_bit(_MCSF_in_multicall, &mcs->flags)) ) |