This adds the Kconfig to enable or disable high-granularity mapping. Itreviewed-by:manish.mishra@xxxxxxxxxxx
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