]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
x86/paravirt: make arch_flush_lazy_mmu/cpu disable preemption
authorJeremy Fitzhardinge <jeremy@goop.org>
Thu, 12 Feb 2009 18:02:56 +0000 (10:02 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 17 Mar 2009 00:32:43 +0000 (17:32 -0700)
commit45034a11bbd9d8c3831a07aa8038ed72eaba7019
treebff392efb340cbee4fea8404d85d0da90aa9ad95
parent9d9cc48d44908a2e476167fb1345d250225a8e69
x86/paravirt: make arch_flush_lazy_mmu/cpu disable preemption

commit d85cf93da66977dbc645352be1b2084a659d8a0b upstream.

Impact: avoid access to percpu vars in preempible context

They are intended to be used whenever there's the possibility
that there's some stale state which is going to be overwritten
with a queued update, or to force a state change when we may be
in lazy mode.  Either way, we could end up calling it with
preemption enabled, so wrap the functions in their own little
preempt-disable section so they can be safely called in any
context (though preemption should never be enabled if we're actually
in a lazy state).

(Move out of line to avoid #include dependencies.)

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/include/asm/paravirt.h
arch/x86/kernel/paravirt.c