diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-03-15 01:47:01 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 04:55:22 -0400 |
commit | d78d0891d3dd976a2fb707c6c691d9cd5ed60727 (patch) | |
tree | 75a1f09a7f316c5cfd6ab3d1dc0e48e89320a200 | |
parent | 43bed127376ff2ef9c268cf6688a43d0fbed2ff4 (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/Kconfig | 1 | ||||
-rw-r--r-- | include/asm-sparc64/sparsemem.h | 6 |
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 | ||
221 | config ARCH_SPARSEMEM_DEFAULT | 221 | config ARCH_SPARSEMEM_DEFAULT |
222 | def_bool y | 222 | def_bool y |
223 | select SPARSEMEM_STATIC | ||
223 | 224 | ||
224 | config LARGE_ALLOCS | 225 | config 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 | ||