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
..
2006-01-06 08:33:37 -08:00
2006-09-29 09:18:15 -07:00
2006-09-26 10:52:26 +02:00
2005-09-05 00:06:10 -07:00
2005-06-23 09:45:09 -07:00
2006-09-29 09:18:03 -07:00
2006-09-29 09:18:15 -07:00
2006-09-29 09:18:15 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-09-26 10:52:32 +02:00
2005-09-05 00:06:11 -07:00
2006-09-26 10:52:29 +02:00
2006-08-30 16:05:15 -07:00
2006-09-26 10:52:35 +02:00
2006-04-01 22:50:03 -05:00
2006-03-23 07:38:05 -08:00
2006-07-08 15:24:18 -07:00
2005-09-07 16:57:21 -07:00
2006-04-26 12:56:16 +01:00
2005-04-16 15:20:36 -07:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2006-01-06 08:33:36 -08:00
2005-08-29 16:02:48 -07:00
2006-06-27 17:32:36 -07:00
2006-06-26 10:48:22 -07:00
2005-04-16 15:20:36 -07:00
2006-01-14 18:27:15 -08:00
2005-04-16 15:20:36 -07:00
2006-06-26 09:58:21 -07:00
2006-09-26 10:52:40 +02:00
2005-09-10 10:06:34 -07:00
2006-09-29 09:18:10 -07:00
2006-04-26 12:56:16 +01:00
2006-03-25 09:10:55 -08:00
2006-09-26 10:52:41 +02:00
2006-09-26 10:52:38 +02:00
2006-01-18 19:20:31 -08:00
2006-09-13 07:32:15 -07:00
2005-07-26 14:35:42 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:38 -07:00
2006-09-26 08:48:55 -07:00
2006-07-02 13:58:47 -07:00
2006-09-26 10:52:29 +02:00
2006-07-08 15:24:18 -07:00
2006-09-26 10:52:26 +02:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2006-06-29 10:26:23 -07:00
2006-04-29 14:13:16 -07:00
2005-06-30 08:45:10 -07:00
2005-04-16 15:20:36 -07:00
2006-04-26 12:56:16 +01:00
2006-09-26 10:52:27 +02:00
2006-09-26 10:52:32 +02:00
2006-04-26 12:56:16 +01:00
2006-01-10 08:01:34 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-04-26 12:56:16 +01:00
2006-07-03 15:27:03 -07:00
2005-04-16 15:20:36 -07:00
2006-06-26 10:48:15 -07:00
2006-09-26 08:49:10 -07:00
2006-06-26 09:58:22 -07:00
2006-09-26 10:52:38 +02:00
2006-04-26 12:56:16 +01:00
2006-07-31 13:28:38 -07:00
2005-04-16 15:20:36 -07:00
2005-05-26 16:16:16 -07:00
2006-07-08 15:24:18 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-06-23 07:42:56 -07:00
2006-02-15 15:32:22 -08:00
2006-04-26 12:56:16 +01:00
2006-06-27 17:32:38 -07:00
2005-04-16 15:20:36 -07:00
2006-09-26 08:48:45 -07:00
2006-01-06 08:33:38 -08:00
2006-01-06 08:33:39 -08:00
2006-04-11 06:18:34 -07:00
2005-04-16 15:20:36 -07:00
2006-06-21 12:00:00 -07:00
2005-09-05 00:06:12 -07:00
2006-06-23 07:42:56 -07:00
2006-09-26 10:52:31 +02:00
2005-04-16 15:20:36 -07:00
2006-09-30 01:47:55 +02:00
2005-09-12 10:49:57 -07:00
2005-04-16 15:20:36 -07:00
2006-06-27 17:32:38 -07:00
2006-04-26 12:56:16 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-04-26 12:56:16 +01:00
2005-04-16 15:20:36 -07:00
2006-04-26 12:56:16 +01:00
2005-04-16 15:20:36 -07:00
2006-09-26 08:48:56 -07:00
2005-04-16 15:20:36 -07:00
2006-09-26 08:48:56 -07:00
2006-10-01 00:39:34 -07:00
2006-03-25 08:22:56 -08:00
2006-07-08 15:24:18 -07:00
2006-09-26 08:48:55 -07:00
2006-09-26 08:49:10 -07:00
2006-09-26 13:07:55 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-09-26 10:52:32 +02:00
2006-09-26 10:52:31 +02:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-09-26 10:52:39 +02:00
2006-09-27 14:39:51 -07:00
2005-04-16 15:20:36 -07:00
2006-04-26 12:56:16 +01:00
2006-09-13 07:32:16 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-09-13 07:32:15 -07:00
2006-10-01 00:39:30 -07:00
2006-06-29 16:58:06 -07:00
2005-04-16 15:20:36 -07:00
2005-06-23 09:45:05 -07:00
2005-09-10 10:06:21 -07:00
2006-10-01 00:39:21 -07:00
2005-04-16 15:20:36 -07:00
2006-09-26 10:52:34 +02:00
2006-03-26 08:57:00 -08:00
2005-04-16 15:20:36 -07:00
2006-04-26 12:56:16 +01:00
2005-04-16 15:24:46 -07:00
2006-09-26 08:48:55 -07:00
2006-09-26 08:48:55 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-09-26 10:52:42 +02:00
2006-07-09 18:47:12 -07:00
2006-06-26 09:58:21 -07:00
2006-06-26 09:58:21 -07:00
2005-04-16 15:20:36 -07:00
2006-09-26 10:52:29 +02:00
2006-06-27 17:32:45 -07:00
2006-09-26 10:52:36 +02:00
2006-04-26 12:56:16 +01:00
2006-06-25 10:01:09 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-09-27 08:26:18 -07:00
2006-09-26 10:52:41 +02:00
2005-04-16 15:20:36 -07:00
2006-06-22 15:05:58 -07:00
2005-04-16 15:20:36 -07:00
2006-01-08 20:14:11 -08:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:11 -07:00