aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2008-04-11 11:11:56 +1000
committerPaul Mackerras <paulus@samba.org>2008-04-15 21:21:23 +1000
commit53bcddb915533c2c41d590e386502a50effd1a21 (patch)
treef94b03122c81f40f604cd1cad63ac0c8cd71a5d1
parent320787c75ccac3189a1b7aae81f0efc1055f6d3a (diff)
[POWERPC] Fix MAX_ORDER config problem
The allyesconfig (among others) build was giving this: In file included from include/linux/gfp.h:4, from include/linux/slab.h:14, from include/linux/percpu.h:5, from include2/asm/time.h:18, from include2/asm/cputime.h:26, from include/linux/sched.h:67, from arch/powerpc/kernel/asm-offsets.c:17: include/linux/mmzone.h:791:2: error: #error Allocator MAX_ORDER exceeds SECTION_SIZE Kconfig options are order depenendent, so move the setting of FORCE_MAX_ZONEORDER to after the setting of PPC_64K_PAGES. Also add an explicit !PPC_64K_PAGES. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--arch/powerpc/Kconfig40
1 files changed, 20 insertions, 20 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 625342e1a73..1d4d19f6d6e 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -211,26 +211,6 @@ source kernel/Kconfig.hz
source kernel/Kconfig.preempt
source "fs/Kconfig.binfmt"
-config FORCE_MAX_ZONEORDER
- int "Maximum zone order"
- default "9" if PPC_64K_PAGES
- default "13" if PPC64
- default "11"
- help
- The kernel memory allocator divides physically contiguous memory
- blocks into "zones", where each zone is a power of two number of
- pages. This option selects the largest power of two that the kernel
- keeps in the memory allocator. If you need to allocate very large
- blocks of physically contiguous memory, then you may need to
- increase this value.
-
- This config option is actually maximum order plus one. For example,
- a value of 11 means that the largest free memory block is 2^10 pages.
-
- The page size is not necessarily 4KB. For example, on 64-bit
- systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES. Keep
- this in mind when choosing a value for this option.
-
config HUGETLB_PAGE_SIZE_VARIABLE
bool
depends on HUGETLB_PAGE
@@ -403,6 +383,26 @@ config PPC_64K_PAGES
while on hardware with such support, it will be used to map
normal application pages.
+config FORCE_MAX_ZONEORDER
+ int "Maximum zone order"
+ default "9" if PPC_64K_PAGES
+ default "13" if PPC64 && !PPC_64K_PAGES
+ default "11"
+ help
+ The kernel memory allocator divides physically contiguous memory
+ blocks into "zones", where each zone is a power of two number of
+ pages. This option selects the largest power of two that the kernel
+ keeps in the memory allocator. If you need to allocate very large
+ blocks of physically contiguous memory, then you may need to
+ increase this value.
+
+ This config option is actually maximum order plus one. For example,
+ a value of 11 means that the largest free memory block is 2^10 pages.
+
+ The page size is not necessarily 4KB. For example, on 64-bit
+ systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES. Keep
+ this in mind when choosing a value for this option.
+
config PPC_SUBPAGE_PROT
bool "Support setting protections for 4k subpages"
depends on PPC_64K_PAGES