lkml.org 
[lkml]   [2020]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 03/19] mm/hugetlb: Introduce a new config HUGETLB_PAGE_FREE_VMEMMAP
    Date
    The purpose of introducing HUGETLB_PAGE_FREE_VMEMMAP is to configure
    whether to enable the feature of freeing unused vmemmap associated
    with HugeTLB pages. Now only support x86.

    Signed-off-by: Muchun Song <songmuchun@bytedance.com>
    ---
    arch/x86/mm/init_64.c | 2 +-
    fs/Kconfig | 16 ++++++++++++++++
    2 files changed, 17 insertions(+), 1 deletion(-)

    diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
    index 0a45f062826e..0435bee2e172 100644
    --- a/arch/x86/mm/init_64.c
    +++ b/arch/x86/mm/init_64.c
    @@ -1225,7 +1225,7 @@ static struct kcore_list kcore_vsyscall;

    static void __init register_page_bootmem_info(void)
    {
    -#ifdef CONFIG_NUMA
    +#if defined(CONFIG_NUMA) || defined(CONFIG_HUGETLB_PAGE_FREE_VMEMMAP)
    int i;

    for_each_online_node(i)
    diff --git a/fs/Kconfig b/fs/Kconfig
    index 976e8b9033c4..5a4265ff2a86 100644
    --- a/fs/Kconfig
    +++ b/fs/Kconfig
    @@ -245,6 +245,22 @@ 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 X86
    + depends on HUGETLB_PAGE
    + depends on SPARSEMEM_VMEMMAP
    + depends on HAVE_BOOTMEM_INFO_NODE
    + help
    + There are many struct page structures associated with each HugeTLB
    + page. But we only use a few struct page structures. In this case,
    + it wastes 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
    \
     
     \ /
      Last update: 2020-10-26 15:54    [W:3.990 / U:0.524 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site