linux/include
Jeremy Fitzhardinge 8965c1c095 paravirt: clean up lazy mode handling
Currently, the set_lazy_mode pv_op is overloaded with 5 functions:
 1. enter lazy cpu mode
 2. leave lazy cpu mode
 3. enter lazy mmu mode
 4. leave lazy mmu mode
 5. flush pending batched operations

This complicates each paravirt backend, since it needs to deal with
all the possible state transitions, handling flushing, etc. In
particular, flushing is quite distinct from the other 4 functions, and
seems to just cause complication.

This patch removes the set_lazy_mode operation, and adds "enter" and
"leave" lazy mode operations on mmu_ops and cpu_ops.  All the logic
associated with enter and leaving lazy states is now in common code
(basically BUG_ONs to make sure that no mode is current when entering
a lazy mode, and make sure that the mode is current when leaving).
Also, flush is handled in a common way, by simply leaving and
re-entering the lazy mode.

The result is that the Xen, lguest and VMI lazy mode implementations
are much simpler.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Zach Amsden <zach@vmware.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Avi Kivity <avi@qumranet.com>
Cc: Anthony Liguory <aliguori@us.ibm.com>
Cc: "Glauber de Oliveira Costa" <glommer@gmail.com>
Cc: Jun Nakajima <jun.nakajima@intel.com>
2007-10-16 11:51:29 -07:00
..
acpi
asm-alpha
asm-arm Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight 2007-10-11 19:19:50 -07:00
asm-avr32 [AVR32] Don't use __builtin_xchg() 2007-10-11 13:32:56 +02:00
asm-blackfin
asm-cris
asm-frv
asm-generic libata-portmap: Remove unused definitions 2007-10-12 14:55:37 -04:00
asm-h8300
asm-ia64
asm-m32r
asm-m68k
asm-m68knommu
asm-mips [MIPS] R1: Fix hazard barriers to make kernels work on R2 also. 2007-10-11 23:46:19 +01:00
asm-parisc
asm-powerpc Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
asm-ppc
asm-s390 [S390] s390: use PAGE_SIZE in vmlinux.lds 2007-10-12 16:13:10 +02:00
asm-sh
asm-sh64
asm-sparc
asm-sparc64
asm-um
asm-v850
asm-x86 paravirt: clean up lazy mode handling 2007-10-16 11:51:29 -07:00
asm-xtensa
crypto
keys
linux Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2007-10-12 16:16:41 -07:00
math-emu
media
mtd
net
pcmcia
rdma
rxrpc
scsi
sound
video
xen
Kbuild