Le 02/03/2021 à 06:13, Anshuman Khandual a écrit :
HUGETLB_PAGE_SIZE_VARIABLE need not be defined for each individual
platform subscribing it. Instead just make it generic.

Cc: Michael Ellerman <m...@ellerman.id.au>
Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org>
Cc: Paul Mackerras <pau...@samba.org>
Cc: Andrew Morton <a...@linux-foundation.org>
Cc: Christoph Hellwig <h...@lst.de>
Cc: linux-i...@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux...@kvack.org
Cc: linux-ker...@vger.kernel.org
Suggested-by: Christoph Hellwig <h...@lst.de>
Signed-off-by: Anshuman Khandual <anshuman.khand...@arm.com>
---
This change was originally suggested in an earilier discussion. This
applies on v5.12-rc1 and has been build tested on all applicable
platforms i.e ia64 and powerpc.

https://patchwork.kernel.org/project/linux-mm/patch/1613024531-19040-3-git-send-email-anshuman.khand...@arm.com/

Changes in V2:

- Added a description for HUGETLB_PAGE_SIZE_VARIABLE

You are doing more than adding a description: you are making it user 
selectable. Is that what you want ?

- Added HUGETLB_PAGE dependency while selecting HUGETLB_PAGE_SIZE_VARIABLE

Changes in V1:

https://patchwork.kernel.org/project/linux-mm/patch/1614577853-7452-1-git-send-email-anshuman.khand...@arm.com/

  arch/ia64/Kconfig    | 6 +-----
  arch/powerpc/Kconfig | 6 +-----
  mm/Kconfig           | 9 +++++++++
  3 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 2ad7a8d29fcc..dccf5bfebf48 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -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
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 3778ad17f56a..3fdec3e53256 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -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
diff --git a/mm/Kconfig b/mm/Kconfig
index 24c045b24b95..64f1e0503e4f 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -274,6 +274,15 @@ config ARCH_ENABLE_HUGEPAGE_MIGRATION
  config ARCH_ENABLE_THP_MIGRATION
        bool
+config HUGETLB_PAGE_SIZE_VARIABLE
+       bool "Allows dynamic pageblock_order"
+       def_bool n
+       depends on HUGETLB_PAGE
+       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

Reply via email to