summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-09-11 23:36:32 -0700
committerDavid S. Miller <davem@davemloft.net>2008-09-11 23:36:32 -0700
commitb0f1e7962f93a78630161c7c9fc263de43c101ac (patch)
treee08a62bdbee47a327f6d80b3d83942f6b7eb9941 /arch
parent17f04fbb0f7153d95ec33da81189b113cc778157 (diff)
downloadlinux-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.h2
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;