summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2024-08-23 13:29:11 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2024-09-05 22:29:57 +1000
commit87def77bb5f4b61d47538a34bb2b2cb7db3c037b (patch)
tree9c90c7779f005ee2d438258117a73dcb5b4a6fda /arch/powerpc/platforms
parentf61d413a1c1feaa4cd04fca840564ab90124bec4 (diff)
downloadlinux-87def77bb5f4b61d47538a34bb2b2cb7db3c037b.tar.gz
linux-87def77bb5f4b61d47538a34bb2b2cb7db3c037b.tar.bz2
linux-87def77bb5f4b61d47538a34bb2b2cb7db3c037b.zip
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: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240823032911.1238471-2-mpe@ellerman.id.au
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r--arch/powerpc/platforms/Kconfig.cputype1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index 9536e591c72a..1453ccc900c4 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -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