linux/arch
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
..
alpha alpha: resurrect Cypress IDE quirk 2008-06-20 16:46:10 -07:00
arm [ARM] 5077/1: spi: fix list scan success verification in PXA ssp driver 2008-06-11 23:38:46 +01:00
avr32 avr32: Fix cpufreq oops when ondemand governor is default 2008-05-27 09:37:42 +02:00
blackfin Blackfin arch: protect only the SPI bus controller with CONFIG_SPI_BFIN 2008-06-07 15:03:01 +08:00
cris
frv Fix various old email addresses for dwmw2 2008-06-06 11:29:10 -07:00
h8300
ia64 [IA64] Eliminate NULL test after alloc_bootmem in iosapic_alloc_rte() 2008-06-24 10:28:55 -07:00
m32r
m68k m68k: enable CONFIG_COMPAT_BRK by default 2008-06-06 11:29:09 -07:00
m68knommu m68knommu: init coldfire timer TRR with n - 1, not n 2008-06-12 18:05:40 -07:00
mips [MIPS] Au1200: MMC resource size off by one 2008-06-16 15:14:49 +01:00
mn10300 MN10300: Kill linux/a.out.h inclusions 2008-06-16 10:20:57 -07:00
parisc parisc: fix off by one in setup_sigcontext32 2008-06-13 10:49:55 -04:00
powerpc Reinstate ZERO_PAGE optimization in 'get_user_pages()' and fix XIP 2008-06-20 11:18:25 -07:00
ppc [POWERPC] Export empty_zero_page and copy_page in arch/ppc 2008-05-31 17:08:28 +10:00
s390 Merge branch 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm 2008-06-11 10:35:44 -07:00
sh sh: Add -mno-fdpic to default flags. 2008-06-09 16:49:43 +09:00
sparc sparc: switch /proc/led to seq_file 2008-06-03 15:21:21 -07:00
sparc64 sparc64: Prevent stack backtrace false positives on trap frames. 2008-05-21 21:50:01 -07:00
um uml: work around broken host PTRACE_SYSEMU 2008-06-12 18:05:40 -07:00
v850
x86 xen: implement ptep_modify_prot_start/commit 2008-06-25 15:17:23 +02:00
xtensa
.gitignore arch: Ignore arch/i386 and arch/x86_64 2008-01-19 21:29:39 -08:00
Kconfig