linux/include
Zachary Amsden 6606c3e0da [PATCH] paravirt: lazy mmu mode hooks.patch
Implement lazy MMU update hooks which are SMP safe for both direct and shadow
page tables.  The idea is that PTE updates and page invalidations while in
lazy mode can be batched into a single hypercall.  We use this in VMI for
shadow page table synchronization, and it is a win.  It also can be used by
PPC and for direct page tables on Xen.

For SMP, the enter / leave must happen under protection of the page table
locks for page tables which are being modified.  This is because otherwise,
you end up with stale state in the batched hypercall, which other CPUs can
race ahead of.  Doing this under the protection of the locks guarantees the
synchronization is correct, and also means that spurious faults which are
generated during this window by remote CPUs are properly handled, as the page
fault handler must re-check the PTE under protection of the same lock.

Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-01 00:39:33 -07:00
..
acpi
asm-alpha [PATCH] Directed yield: cpu_relax variants for spinlocks and rw-locks 2006-10-01 00:39:21 -07:00
asm-arm [PATCH] Directed yield: cpu_relax variants for spinlocks and rw-locks 2006-10-01 00:39:21 -07:00
asm-arm26 [PATCH] consistently use MAX_ERRNO in __syscall_return 2006-09-27 08:26:18 -07:00
asm-avr32 [PATCH] AVR32 MTD: Static Memory Controller driver 2006-09-26 08:48:54 -07:00
asm-cris [PATCH] Directed yield: cpu_relax variants for spinlocks and rw-locks 2006-10-01 00:39:21 -07:00
asm-frv [PATCH] ntp: cleanup defines and comments 2006-10-01 00:39:27 -07:00
asm-generic [PATCH] paravirt: lazy mmu mode hooks.patch 2006-10-01 00:39:33 -07:00
asm-h8300 [PATCH] remove SYSRQ_KEY and related defines from ppc/sh/h8300 2006-10-01 00:39:22 -07:00
asm-i386 [PATCH] stack overflow safe kdump: safe_smp_processor_id() 2006-10-01 00:39:30 -07:00
asm-ia64 [PATCH] Directed yield: cpu_relax variants for spinlocks and rw-locks 2006-10-01 00:39:21 -07:00
asm-m32r [PATCH] ntp: cleanup defines and comments 2006-10-01 00:39:27 -07:00
asm-m68k [PATCH] consistently use MAX_ERRNO in __syscall_return 2006-09-27 08:26:18 -07:00
asm-m68knommu [PATCH] consistently use MAX_ERRNO in __syscall_return 2006-09-27 08:26:18 -07:00
asm-mips [PATCH] Directed yield: cpu_relax variants for spinlocks and rw-locks 2006-10-01 00:39:21 -07:00
asm-parisc [PATCH] Directed yield: cpu_relax variants for spinlocks and rw-locks 2006-10-01 00:39:21 -07:00
asm-powerpc [PATCH] update legacy io handling for pmac 2006-10-01 00:39:23 -07:00
asm-ppc [PATCH] Directed yield: cpu_relax variants for spinlocks and rw-locks 2006-10-01 00:39:21 -07:00
asm-s390 [PATCH] Directed yield: direct yield of spinlocks for s390. 2006-10-01 00:39:22 -07:00
asm-sh [PATCH] remove SYSRQ_KEY and related defines from ppc/sh/h8300 2006-10-01 00:39:22 -07:00
asm-sh64 [PATCH] ntp: cleanup defines and comments 2006-10-01 00:39:27 -07:00
asm-sparc [PATCH] Directed yield: cpu_relax variants for spinlocks and rw-locks 2006-10-01 00:39:21 -07:00
asm-sparc64 [PATCH] Directed yield: cpu_relax variants for spinlocks and rw-locks 2006-10-01 00:39:21 -07:00
asm-um [PATCH] uml: remove pte_mkexec 2006-09-29 09:18:04 -07:00
asm-v850 [PATCH] consistently use MAX_ERRNO in __syscall_return 2006-09-27 08:26:18 -07:00
asm-x86_64 [PATCH] kill wall_jiffies 2006-10-01 00:39:27 -07:00
asm-xtensa [PATCH] ntp: cleanup defines and comments 2006-10-01 00:39:27 -07:00
crypto [CRYPTO] digest: Added user API for new hash type 2006-09-21 11:46:17 +10:00
keys
linux [PATCH] Create call_usermodehelper_pipe() 2006-10-01 00:39:33 -07:00
math-emu
media Merge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb 2006-09-30 09:39:15 -07:00
mtd Merge git://git.infradead.org/~dwmw2/hdroneline 2006-09-22 12:56:22 -07:00
net [PATCH] Add genetlink utilities for payload length calculation 2006-10-01 00:39:29 -07:00
pcmcia
rdma IB/sa: fix ib_sa_selector names 2006-09-22 15:22:55 -07:00
rxrpc
scsi [PATCH] scsi: device_reprobe() can fail 2006-09-30 19:33:43 -07:00
sound [PATCH] maximum latency tracking: ALSA support 2006-10-01 00:39:19 -07:00
video [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00
Kbuild [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00