summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorMuchun Song <songmuchun@bytedance.com>2021-07-01 03:48:28 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2021-07-01 05:47:26 +0200
commite6d41f12df0efcaa6e30b575d40f2529024cfce9 (patch)
tree9d547e73faa1f232a63284f3656a82a44630197d /fs
parentmm: sparsemem: use huge PMD mapping for vmemmap pages (diff)
downloadlinux-e6d41f12df0efcaa6e30b575d40f2529024cfce9.tar.xz
linux-e6d41f12df0efcaa6e30b575d40f2529024cfce9.zip
mm: hugetlb: introduce CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON
When using HUGETLB_PAGE_FREE_VMEMMAP, the freeing unused vmemmap pages associated with each HugeTLB page is default off. Now the vmemmap is PMD mapped. So there is no side effect when this feature is enabled with no HugeTLB pages in the system. Someone may want to enable this feature in the compiler time instead of using boot command line. So add a config to make it default on when someone do not want to enable it via command line. Link: https://lkml.kernel.org/r/20210616094915.34432-4-songmuchun@bytedance.com Signed-off-by: Muchun Song <songmuchun@bytedance.com> Cc: Chen Huang <chenhuang5@huawei.com> Cc: David Hildenbrand <david@redhat.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Kravetz <mike.kravetz@oracle.com> Cc: Oscar Salvador <osalvador@suse.de> Cc: Xiongchun Duan <duanxiongchun@bytedance.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/Kconfig10
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/Kconfig b/fs/Kconfig
index 58a53455d1fe..a7749c126b8e 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -245,6 +245,16 @@ config HUGETLB_PAGE_FREE_VMEMMAP
depends on X86_64
depends on SPARSEMEM_VMEMMAP
+config HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON
+ bool "Default freeing vmemmap pages of HugeTLB to on"
+ default n
+ depends on HUGETLB_PAGE_FREE_VMEMMAP
+ help
+ When using HUGETLB_PAGE_FREE_VMEMMAP, the freeing unused vmemmap
+ pages associated with each HugeTLB page is default off. Say Y here
+ to enable freeing vmemmap pages of HugeTLB by default. It can then
+ be disabled on the command line via hugetlb_free_vmemmap=off.
+
config MEMFD_CREATE
def_bool TMPFS || HUGETLBFS