[SPARC64]: Use SPARSEMEM_STATIC
authorDavid S. Miller <davem@sunset.davemloft.net>
Thu, 15 Mar 2007 05:47:01 +0000 (22:47 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Thu, 26 Apr 2007 08:55:22 +0000 (01:55 -0700)
Decrease the SECTION_SIZE_BITS --> MAX_PHYSADDR_BITS
range a little bit.

The cost of going to SPARSEMEM_STATIC becomes 8K of BSS space, and in
return we save a pointer dereferences on every page struct lookup.
Even better we hit the main kernel image for the base address which is
in a hugepage locked TLB entry.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/Kconfig
include/asm-sparc64/sparsemem.h

index 51c87fdd998c3a1de4038ada10d9200f4ef15d96..590a41b864b9227cfda9bf4dbe24daceeede71b7 100644 (file)
@@ -220,6 +220,7 @@ config ARCH_SPARSEMEM_ENABLE
 
 config ARCH_SPARSEMEM_DEFAULT
        def_bool y
+       select SPARSEMEM_STATIC
 
 config LARGE_ALLOCS
        def_bool y
index ed5c9d8541e226f8fc5a8d79790e05d5a5360b26..411e0e255cf30778fd4ebf6843d8082b3867a0df 100644 (file)
@@ -3,9 +3,9 @@
 
 #ifdef __KERNEL__
 
-#define SECTION_SIZE_BITS       26
-#define MAX_PHYSADDR_BITS       42
-#define MAX_PHYSMEM_BITS        42
+#define SECTION_SIZE_BITS       31
+#define MAX_PHYSADDR_BITS       41
+#define MAX_PHYSMEM_BITS        41
 
 #endif /* !(__KERNEL__) */