The purpose of introducing HUGETLB_PAGE_FREE_VMEMMAP is to configure
whether to enable the feature of freeing unused vmemmap associated
with HugeTLB pages.

Signed-off-by: Muchun Song <[email protected]>
---
 fs/Kconfig | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/fs/Kconfig b/fs/Kconfig
index 976e8b9033c4..61e9c08096ca 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -245,6 +245,21 @@ config HUGETLBFS
 config HUGETLB_PAGE
        def_bool HUGETLBFS
 
+config HUGETLB_PAGE_FREE_VMEMMAP
+       bool "Free unused vmemmap associated with HugeTLB pages"
+       default n
+       depends on HUGETLB_PAGE
+       depends on SPARSEMEM_VMEMMAP
+       depends on HAVE_BOOTMEM_INFO_NODE
+       help
+         There are many struct page structure associated with each HugeTLB
+         page. But we only use a few struct page structure. In this case,
+         it waste some memory. It is better to free the unused struct page
+         structures to buddy system which can save some memory. For
+         architectures that support it, say Y here.
+
+         If unsure, say N.
+
 config MEMFD_CREATE
        def_bool TMPFS || HUGETLBFS
 
-- 
2.20.1

Reply via email to