mm: generalize HUGETLB_PAGE_SIZE_VARIABLE
authorAnshuman Khandual <anshuman.khandual@arm.com>
Wed, 5 May 2021 01:33:19 +0000 (18:33 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 5 May 2021 18:27:20 +0000 (11:27 -0700)
HUGETLB_PAGE_SIZE_VARIABLE need not be defined for each individual
platform subscribing it.  Instead just make it generic.

Link: https://lkml.kernel.org/r/1614914928-22039-1-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Suggested-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Michael Ellerman <mpe@ellerman.id.au> [powerpc]
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/ia64/Kconfig
arch/powerpc/Kconfig
mm/Kconfig

index 81e2b893b1e7ec4776477355ab534a7bee91efd1..fd2cfc65fdc9f6d441a88c62287eedefd71c7044 100644 (file)
@@ -32,6 +32,7 @@ config IA64
        select TTY
        select HAVE_ARCH_TRACEHOOK
        select HAVE_VIRT_CPU_ACCOUNTING
+       select HUGETLB_PAGE_SIZE_VARIABLE if HUGETLB_PAGE
        select VIRT_TO_BUS
        select GENERIC_IRQ_PROBE
        select GENERIC_PENDING_IRQ if SMP
@@ -82,11 +83,6 @@ config STACKTRACE_SUPPORT
 config GENERIC_LOCKBREAK
        def_bool n
 
-config HUGETLB_PAGE_SIZE_VARIABLE
-       bool
-       depends on HUGETLB_PAGE
-       default y
-
 config GENERIC_CALIBRATE_DELAY
        bool
        default y
index 2d060c0025958408379472ced1b34b5bb47bf838..965278498dd7c8fd5f1a484a6e035baf04bba0b8 100644 (file)
@@ -232,6 +232,7 @@ config PPC
        select HAVE_HARDLOCKUP_DETECTOR_PERF    if PERF_EVENTS && HAVE_PERF_EVENTS_NMI && !HAVE_HARDLOCKUP_DETECTOR_ARCH
        select HAVE_PERF_REGS
        select HAVE_PERF_USER_STACK_DUMP
+       select HUGETLB_PAGE_SIZE_VARIABLE       if PPC_BOOK3S_64 && HUGETLB_PAGE
        select MMU_GATHER_RCU_TABLE_FREE
        select MMU_GATHER_PAGE_SIZE
        select HAVE_REGS_AND_STACK_ACCESS_API
@@ -416,11 +417,6 @@ config HIGHMEM
 
 source "kernel/Kconfig.hz"
 
-config HUGETLB_PAGE_SIZE_VARIABLE
-       bool
-       depends on HUGETLB_PAGE && PPC_BOOK3S_64
-       default y
-
 config MATH_EMULATION
        bool "Math emulation"
        depends on 4xx || PPC_8xx || PPC_MPC832x || BOOKE
index 3636da27c38573801f4a5e5babe6b1c4230eba67..f4ceeaedb96617debce1ab863117e746aff325f9 100644 (file)
@@ -273,6 +273,13 @@ config ARCH_ENABLE_HUGEPAGE_MIGRATION
 config ARCH_ENABLE_THP_MIGRATION
        bool
 
+config HUGETLB_PAGE_SIZE_VARIABLE
+       def_bool n
+       help
+         Allows the pageblock_order value to be dynamic instead of just standard
+         HUGETLB_PAGE_ORDER when there are multiple HugeTLB page sizes available
+         on a platform.
+
 config CONTIG_ALLOC
        def_bool (MEMORY_ISOLATION && COMPACTION) || CMA