alistair23-linux/include
Jeremy Fitzhardinge e57778a1e3 xen: implement ptep_modify_prot_start/commit
Xen has a pte update function which will update a pte while preserving
its accessed and dirty bits.  This means that ptep_modify_prot_start() can be
implemented as a simple read of the pte value.  The hardware may
update the pte in the meantime, but ptep_modify_prot_commit() updates it while
preserving any changes that may have happened in the meantime.

The updates in ptep_modify_prot_commit() are batched if we're currently in lazy
mmu mode.

The mmu_update hypercall can take a batch of updates to perform, but
this code doesn't make particular use of that feature, in favour of
using generic multicall batching to get them all into the hypervisor.

The net effect of this is that each mprotect pte update turns from two
expensive trap-and-emulate faults into they hypervisor into a single
hypercall whose cost is amortized in a batched multicall.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-06-25 15:17:23 +02:00
..
acpi proper prototype for acpi_processor_tstate_has_changed() 2008-06-11 19:13:46 -04:00
asm-alpha alpha: fix compile error in arch/alpha/mm/init.c 2008-06-23 18:26:04 -07:00
asm-arm [ARM] 5091/1: Add missing bitfield include to regs-lcd.h 2008-06-12 20:49:38 +01:00
asm-avr32
asm-blackfin Blackfin Serial Driver: Use timer to poll CTS PIN instead of workqueue. 2008-06-19 17:46:39 +08:00
asm-cris
asm-frv FRV: ip_fast_csum() requires a memory clobber on its inline asm 2008-06-05 10:31:21 -07:00
asm-generic mm: add a ptep_modify_prot transaction abstraction 2008-06-25 15:15:53 +02:00
asm-h8300 h8300: fix typo in header guard 2008-06-06 11:29:12 -07:00
asm-ia64 [IA64] Fix CONFIG_IA64_SGI_UV build error 2008-06-16 09:02:03 -07:00
asm-m32r asm-m32r/uaccess.h must #include <asm/setup.h> 2008-06-06 11:29:13 -07:00
asm-m68k m68k: Add ext2_find_{first,next}_bit() for ext4 2008-06-12 18:05:39 -07:00
asm-m68knommu
asm-mips [MIPS] Malta: Fix build errors for 64-bit kernels 2008-06-16 15:14:48 +01:00
asm-mn10300 MN10300: Fix typo in header guard 2008-05-28 07:59:06 -07:00
asm-parisc parisc: fix miscompilation of ip_fast_csum with gcc >= 4.3 2008-06-13 10:49:56 -04:00
asm-powerpc [POWERPC] Build fix for drivers/macintosh/mediabay.c 2008-06-16 15:00:47 +10:00
asm-ppc
asm-s390 [S390] Fix __ctl_load/__ctl_store inline assembly constraints 2008-06-10 10:03:28 +02:00
asm-sh sh: fix miscompilation of ip_fast_csum with gcc >= 4.3 2008-06-02 12:40:14 +09:00
asm-sparc
asm-sparc64 sparc64: IO accessors fix 2008-05-30 02:01:28 -07:00
asm-um uml: activate_mm: remove the dead PF_BORROWED_MM check 2008-06-06 11:36:22 -07:00
asm-v850 v850: fix typo in header guard 2008-06-06 11:29:12 -07:00
asm-x86 paravirt: add hooks for ptep_modify_prot_start/commit 2008-06-25 15:16:00 +02:00
asm-xtensa
crypto
keys
linux Merge commit 'v2.6.26-rc8' into x86/xen 2008-06-25 12:16:51 +02:00
math-emu
media V4L/DVB (7911): Remove v4l2_video_std_fps prototype declaration 2008-06-05 06:35:42 -03:00
mtd
net netns: Don't receive new packets in a dead network namespace. 2008-06-20 22:16:51 -07:00
pcmcia
rdma IB/core: Remove IB_DEVICE_SEND_W_INV capability flag 2008-06-09 09:58:42 -07:00
rxrpc
scsi
sound [ALSA] ac97 - Fix ASUS A9T laptop output 2008-05-30 16:20:42 +02:00
video
xen xen: implement ptep_modify_prot_start/commit 2008-06-25 15:17:23 +02:00
Kbuild