Skip to content
  • Aneesh Kumar K.V's avatar
    powerpc/mm: Update FORCE_MAX_ZONEORDER range to allow hugetlb w/4K · d5a1e42c
    Aneesh Kumar K.V authored
    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: a7ee5395
    
     ("powerpc/Kconfig: Update config option based on page size")
    Cc: stable@vger.kernel.org # v4.7+
    Reported-by: default avatarSanthosh <santhog4@linux.vnet.ibm.com>
    Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Acked-by: default avatarBalbir Singh <bsingharora@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    d5a1e42c