linux/include
Zachary Amsden 25e4df5bae [PATCH] paravirt: combine flush accessed dirty.patch
Remove ptep_test_and_clear_{dirty|young} from i386, and instead use the
dominating functions, ptep_clear_flush_{dirty|young}.  This allows the TLB
page flush to be contained in the same macro, and allows for an eager
optimization - if reading the PTE initially returned dirty/accessed, we can
assume the fact that no subsequent update to the PTE which cleared accessed /
dirty has occurred, as the only way A/D bits can change without holding the
page table lock is if a remote processor clears them.  This eliminates an
extra branch which came from the generic version of the code, as we know that
no other CPU could have cleared the A/D bit, so the flush will always be
needed.

We still export these two defines, even though we do not actually define
the macros in the i386 code:

 #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG
 #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY

The reason for this is that the only use of these functions is within the
generic clear_flush functions, and we want a strong guarantee that there
are no other users of these functions, so we want to prevent the generic
code from defining them for us.

Signed-off-by: Zachary Amsden <zach@vmware.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
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:34 -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] paravirt: combine flush accessed dirty.patch 2006-10-01 00:39:34 -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