aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2009-02-20 23:01:26 -0800
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2009-03-29 23:47:00 -0700
commit5caecb9432428241d0c641897f07ff4003f1b55f (patch)
tree34709dc13021ce869623036d2037fbecca62eff9
parentx86/paravirt: use percpu_ rather than __get_cpu_var (diff)
downloadlinux-dev-5caecb9432428241d0c641897f07ff4003f1b55f.tar.xz
linux-dev-5caecb9432428241d0c641897f07ff4003f1b55f.zip
xen: disable preempt for leave_lazy_mmu
xen_mc_flush() requires preemption to be disabled for its own sanity, so disable it while we're flushing. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
-rw-r--r--arch/x86/xen/mmu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 3f2d0fe5e6a8..0e572380413b 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1812,8 +1812,10 @@ __init void xen_post_allocator_init(void)
static void xen_leave_lazy_mmu(void)
{
+ preempt_disable();
xen_mc_flush();
paravirt_leave_lazy_mmu();
+ preempt_enable();
}
const struct pv_mmu_ops xen_mmu_ops __initdata = {