Skip to content

Commit d5a1e42

Browse files
kvaneeshmpe
authored andcommitted
powerpc/mm: Update FORCE_MAX_ZONEORDER range to allow hugetlb w/4K
For hugetlb to work with 4K page size, we need MAX_ORDER to be 13 or more. When switching from a 64K page size to 4K linux page size using make oldconfig, we end up with a CONFIG_FORCE_MAX_ZONEORDER value of 9. This results in a 16M hugepage beiing considered as a gigantic huge page which in turn results in failure to setup hugepages if gigantic hugepage support is not enabled. This also results in kernel crash with 4K radix configuration. We hit the below BUG_ON on radix: kernel BUG at mm/huge_memory.c:364! Oops: Exception in kernel mode, sig: 5 [#1] SMP NR_CPUS=2048 NUMA PowerNV CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.8.0-rc1-00006-gbae9cc6 #1 task: c0000000f1af8000 task.stack: c0000000f1aec000 NIP: c000000000c5fa0c LR: c000000000c5f9d8 CTR: c000000000c5f9a4 REGS: c0000000f1aef920 TRAP: 0700 Not tainted (4.8.0-rc1-00006-gbae9cc6) MSR: 9000000102029033 <SF,HV,VEC,EE,ME,IR,DR,RI,LE,TM[E]> CR: 24000844 XER: 00000000 CFAR: c000000000c5f9e0 SOFTE: 1 .... NIP [c000000000c5fa0c] hugepage_init+0x68/0x238 LR [c000000000c5f9d8] hugepage_init+0x34/0x238 Fixes: a7ee539 ("powerpc/Kconfig: Update config option based on page size") Cc: [email protected] # v4.7+ Reported-by: Santhosh <[email protected]> Signed-off-by: Aneesh Kumar K.V <[email protected]> Acked-by: Balbir Singh <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
1 parent 7b8845a commit d5a1e42

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/powerpc/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -632,7 +632,7 @@ config FORCE_MAX_ZONEORDER
632632
int "Maximum zone order"
633633
range 8 9 if PPC64 && PPC_64K_PAGES
634634
default "9" if PPC64 && PPC_64K_PAGES
635-
range 9 13 if PPC64 && !PPC_64K_PAGES
635+
range 13 13 if PPC64 && !PPC_64K_PAGES
636636
default "13" if PPC64 && !PPC_64K_PAGES
637637
range 9 64 if PPC32 && PPC_16K_PAGES
638638
default "9" if PPC32 && PPC_16K_PAGES

0 commit comments

Comments
 (0)