summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-03-14 22:47:01 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 01:55:22 -0700
commitd78d0891d3dd976a2fb707c6c691d9cd5ed60727 (patch)
tree75a1f09a7f316c5cfd6ab3d1dc0e48e89320a200
parent43bed127376ff2ef9c268cf6688a43d0fbed2ff4 (diff)
[SPARC64]: Use SPARSEMEM_STATIC
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>
-rw-r--r--arch/sparc64/Kconfig1
-rw-r--r--include/asm-sparc64/sparsemem.h6
2 files changed, 4 insertions, 3 deletions
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig
index 51c87fdd998c..590a41b864b9 100644
--- a/arch/sparc64/Kconfig
+++ b/arch/sparc64/Kconfig
@@ -220,6 +220,7 @@ config ARCH_SPARSEMEM_ENABLE
config ARCH_SPARSEMEM_DEFAULT
def_bool y
+ select SPARSEMEM_STATIC
config LARGE_ALLOCS
def_bool y
diff --git a/include/asm-sparc64/sparsemem.h b/include/asm-sparc64/sparsemem.h
index ed5c9d8541e2..411e0e255cf3 100644
--- a/include/asm-sparc64/sparsemem.h
+++ b/include/asm-sparc64/sparsemem.h
@@ -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__) */