aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2008-04-10 21:11:56 -0400
committerPaul Mackerras <paulus@samba.org>2008-04-15 07:21:23 -0400
commit53bcddb915533c2c41d590e386502a50effd1a21 (patch)
treef94b03122c81f40f604cd1cad63ac0c8cd71a5d1 /arch/powerpc
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>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/Kconfig40
1 files changed, 20 insertions, 20 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 625342e1a733..1d4d19f6d6e1 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -211,26 +211,6 @@ source kernel/Kconfig.hz
211source kernel/Kconfig.preempt 211source kernel/Kconfig.preempt
212source "fs/Kconfig.binfmt" 212source "fs/Kconfig.binfmt"
213 213
214config FORCE_MAX_ZONEORDER
215 int "Maximum zone order"
216 default "9" if PPC_64K_PAGES
217 default "13" if PPC64
218 default "11"
219 help
220 The kernel memory allocator divides physically contiguous memory
221 blocks into "zones", where each zone is a power of two number of
222 pages. This option selects the largest power of two that the kernel
223 keeps in the memory allocator. If you need to allocate very large
224 blocks of physically contiguous memory, then you may need to
225 increase this value.
226
227 This config option is actually maximum order plus one. For example,
228 a value of 11 means that the largest free memory block is 2^10 pages.
229
230 The page size is not necessarily 4KB. For example, on 64-bit
231 systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES. Keep
232 this in mind when choosing a value for this option.
233
234config HUGETLB_PAGE_SIZE_VARIABLE 214config HUGETLB_PAGE_SIZE_VARIABLE
235 bool 215 bool
236 depends on HUGETLB_PAGE 216 depends on HUGETLB_PAGE
@@ -403,6 +383,26 @@ config PPC_64K_PAGES
403 while on hardware with such support, it will be used to map 383 while on hardware with such support, it will be used to map
404 normal application pages. 384 normal application pages.
405 385
386config FORCE_MAX_ZONEORDER
387 int "Maximum zone order"
388 default "9" if PPC_64K_PAGES
389 default "13" if PPC64 && !PPC_64K_PAGES
390 default "11"
391 help
392 The kernel memory allocator divides physically contiguous memory
393 blocks into "zones", where each zone is a power of two number of
394 pages. This option selects the largest power of two that the kernel
395 keeps in the memory allocator. If you need to allocate very large
396 blocks of physically contiguous memory, then you may need to
397 increase this value.
398
399 This config option is actually maximum order plus one. For example,
400 a value of 11 means that the largest free memory block is 2^10 pages.
401
402 The page size is not necessarily 4KB. For example, on 64-bit
403 systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES. Keep
404 this in mind when choosing a value for this option.
405
406config PPC_SUBPAGE_PROT 406config PPC_SUBPAGE_PROT
407 bool "Support setting protections for 4k subpages" 407 bool "Support setting protections for 4k subpages"
408 depends on PPC_64K_PAGES 408 depends on PPC_64K_PAGES