On 30.11.20 16:18, Muchun Song wrote: > The purpose of introducing HUGETLB_PAGE_FREE_VMEMMAP is to configure > whether to enable the feature of freeing unused vmemmap associated > with HugeTLB pages. And this is just for dependency check. Now only > support x86. x86 - i386 and x86-64? (I assume the latter only ;) ) > > Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx> > --- > arch/x86/mm/init_64.c | 2 +- > fs/Kconfig | 14 ++++++++++++++ > 2 files changed, 15 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; > Why does this hunk belong into this patch? Looks like this should go into another patch. > for_each_online_node(i) > diff --git a/fs/Kconfig b/fs/Kconfig > index 976e8b9033c4..4961dd488444 100644 > --- a/fs/Kconfig > +++ b/fs/Kconfig > @@ -245,6 +245,20 @@ config HUGETLBFS > config HUGETLB_PAGE > def_bool HUGETLBFS > > +config HUGETLB_PAGE_FREE_VMEMMAP > + def_bool HUGETLB_PAGE > + depends on X86 > + depends on SPARSEMEM_VMEMMAP > + depends on HAVE_BOOTMEM_INFO_NODE > + help > + When using HUGETLB_PAGE_FREE_VMEMMAP, the system can save up some > + memory from pre-allocated HugeTLB pages when they are not used. > + 6 pages per 2MB HugeTLB page and 4094 per 1GB HugeTLB page. Calculations only apply to 4k base pages, no? (maybe generalize this a bit or mention 4k base pages - I'm pretty sure we'll see the "depends on X86" part fairly soon if this goes upstream) -- Thanks, David / dhildenb