[RFC PATCH 03/24] mm/hugetlb: Introduce a new config HUGETLB_PAGE_FREE_VMEMMAP

From: Muchun Song
Date: Tue Sep 15 2020 - 20:45:32 EST


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 <songmuchun@xxxxxxxxxxxxx>
---
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