[SPARC64]: Use SPARSEMEM_STATIC
David S. Miller [Thu, 15 Mar 2007 05:47:01 +0000 (22:47 -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 51c87fd..590a41b 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 ed5c9d8..411e0e2 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__) */