[RFC PATCH 05/26] hugetlb: add CONFIG_HUGETLB_HIGH_GRANULARITY_MAPPING

From: James Houghton
Date: Fri Jun 24 2022 - 13:37:54 EST


This adds the Kconfig to enable or disable high-granularity mapping. It
is enabled by default for architectures that use
ARCH_WANT_GENERAL_HUGETLB.

There is also an arch-specific config ARCH_HAS_SPECIAL_HUGETLB_HGM which
controls whether or not the architecture has been updated to support
HGM if it doesn't use general HugeTLB.

Signed-off-by: James Houghton <jthoughton@xxxxxxxxxx>
---
fs/Kconfig | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/fs/Kconfig b/fs/Kconfig
index 5976eb33535f..d76c7d812656 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -268,6 +268,13 @@ config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON
to enable optimizing vmemmap pages of HugeTLB by default. It can then
be disabled on the command line via hugetlb_free_vmemmap=off.

+config ARCH_HAS_SPECIAL_HUGETLB_HGM
+ bool
+
+config HUGETLB_HIGH_GRANULARITY_MAPPING
+ def_bool ARCH_WANT_GENERAL_HUGETLB || ARCH_HAS_SPECIAL_HUGETLB_HGM
+ depends on HUGETLB_PAGE
+
config MEMFD_CREATE
def_bool TMPFS || HUGETLBFS

--
2.37.0.rc0.161.g10f37bed90-goog