diff options
author | David S. Miller <davem@davemloft.net> | 2008-09-12 02:36:32 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-09-12 02:36:32 -0400 |
commit | b0f1e7962f93a78630161c7c9fc263de43c101ac (patch) | |
tree | e08a62bdbee47a327f6d80b3d83942f6b7eb9941 /arch/sparc/include/asm/page_64.h | |
parent | 17f04fbb0f7153d95ec33da81189b113cc778157 (diff) |
sparc64: Define WANT_PAGE_VIRTUAL
As sparse warns, without this struct page pointer subtraction is
extremely expensive, and this is a pretty common operation in
fast paths.
With this define struct page becomes 64 bytes which makes for a
simple subtract and shift, instead of a costly divide or reciprocol
multiply.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/include/asm/page_64.h')
-rw-r--r-- | arch/sparc/include/asm/page_64.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/page_64.h b/arch/sparc/include/asm/page_64.h index b579b910ef51..4274ed13ddb2 100644 --- a/arch/sparc/include/asm/page_64.h +++ b/arch/sparc/include/asm/page_64.h | |||
@@ -38,6 +38,8 @@ | |||
38 | 38 | ||
39 | #ifndef __ASSEMBLY__ | 39 | #ifndef __ASSEMBLY__ |
40 | 40 | ||
41 | #define WANT_PAGE_VIRTUAL | ||
42 | |||
41 | extern void _clear_page(void *page); | 43 | extern void _clear_page(void *page); |
42 | #define clear_page(X) _clear_page((void *)(X)) | 44 | #define clear_page(X) _clear_page((void *)(X)) |
43 | struct page; | 45 | struct page; |