aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-03-15 01:47:01 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 04:55:22 -0400
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
220 220
221config ARCH_SPARSEMEM_DEFAULT 221config ARCH_SPARSEMEM_DEFAULT
222 def_bool y 222 def_bool y
223 select SPARSEMEM_STATIC
223 224
224config LARGE_ALLOCS 225config LARGE_ALLOCS
225 def_bool y 226 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 @@
3 3
4#ifdef __KERNEL__ 4#ifdef __KERNEL__
5 5
6#define SECTION_SIZE_BITS 26 6#define SECTION_SIZE_BITS 31
7#define MAX_PHYSADDR_BITS 42 7#define MAX_PHYSADDR_BITS 41
8#define MAX_PHYSMEM_BITS 42 8#define MAX_PHYSMEM_BITS 41
9 9
10#endif /* !(__KERNEL__) */ 10#endif /* !(__KERNEL__) */
11 11