Commit 87def77b authored by Michael Ellerman's avatar Michael Ellerman
Browse files

powerpc/mm/64s: Restrict THP to Radix or HPT w/64K pages



Transparent hugepages (THP) are not supported when using the Hash Page
Table (HPT) MMU with 4K pages.

Currently a HPT-only 4K kernel still allows THP to be enabled, which
is misleading.

Add restrictions to the PPC_THP symbol so that if the kernel is
configured with 4K pages and only the HPT MMU (no Radix), then THP is
disabled.

Note that it's still possible to build a combined Radix/HPT kernel with 4K
pages, which does allow THP to be enabled at build time. As such the HPT
code still needs to provide some THP related symbols, to allow the build
to succeed, but those code paths are never run. See the stubs in
arch/powerpc/include/asm/book3s/64/hash-4k.h.

Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240823032911.1238471-2-mpe@ellerman.id.au
parent f61d413a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -108,6 +108,7 @@ endchoice
config PPC_THP
       def_bool y
       depends on PPC_BOOK3S_64
       depends on PPC_RADIX_MMU || (PPC_64S_HASH_MMU && PAGE_SIZE_64KB)
       select HAVE_ARCH_TRANSPARENT_HUGEPAGE
       select HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
       select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE