x86/paravirt: flush pending mmu updates on context switch
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Wed, 18 Feb 2009 07:46:21 +0000 (23:46 -0800)
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Mon, 30 Mar 2009 06:36:00 +0000 (23:36 -0700)
commitb407fc57b815b2016186220baabc76cc8264206e
tree29949f727af8b6c19fd689fa10f123ea84c03cb0
parent7fd7d83d49914f03aefffba6aee09032fcd54cce
x86/paravirt: flush pending mmu updates on context switch

Impact: allow preemption during lazy mmu updates

If we're in lazy mmu mode when context switching, leave
lazy mmu mode, but remember the task's state in
TIF_LAZY_MMU_UPDATES.  When we resume the task, check this
flag and re-enter lazy mmu mode if its set.

This sets things up for allowing lazy mmu mode while preemptible,
though that won't actually be active until the next change.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
arch/x86/include/asm/paravirt.h
arch/x86/include/asm/thread_info.h
arch/x86/kernel/kvm.c
arch/x86/kernel/paravirt.c
arch/x86/kernel/vmi_32.c
arch/x86/lguest/boot.c
arch/x86/xen/enlighten.c
arch/x86/xen/mmu.c
arch/x86/xen/xen-ops.h