diff options
author | David S. Miller <davem@davemloft.net> | 2008-09-11 23:36:32 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-09-11 23:36:32 -0700 |
commit | b0f1e7962f93a78630161c7c9fc263de43c101ac (patch) | |
tree | e08a62bdbee47a327f6d80b3d83942f6b7eb9941 /arch | |
parent | 17f04fbb0f7153d95ec33da81189b113cc778157 (diff) | |
download | linux-b0f1e7962f93a78630161c7c9fc263de43c101ac.tar.gz linux-b0f1e7962f93a78630161c7c9fc263de43c101ac.tar.bz2 linux-b0f1e7962f93a78630161c7c9fc263de43c101ac.zip |
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')
-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 @@ #ifndef __ASSEMBLY__ +#define WANT_PAGE_VIRTUAL + extern void _clear_page(void *page); #define clear_page(X) _clear_page((void *)(X)) struct page; |