On 6/12/21 10:45 AM, Muchun Song wrote: > 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. > > Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx> > --- > Documentation/admin-guide/kernel-parameters.txt | 3 +++ > fs/Kconfig | 10 ++++++++++ > mm/hugetlb_vmemmap.c | 6 ++++-- > 3 files changed, 17 insertions(+), 2 deletions(-) > > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt > index a01aadafee38..8eee439d943c 100644 > --- a/Documentation/admin-guide/kernel-parameters.txt > +++ b/Documentation/admin-guide/kernel-parameters.txt > @@ -1604,6 +1604,9 @@ > on: enable the feature > off: disable the feature > > + Built with CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON=y, > + the default is on. > + > This is not compatible with memory_hotplug.memmap_on_memory. > If both parameters are enabled, hugetlb_free_vmemmap takes > precedence over memory_hotplug.memmap_on_memory. > diff --git a/fs/Kconfig b/fs/Kconfig > index f40b5b98f7ba..e78bc5daf7b0 100644 > --- a/fs/Kconfig > +++ b/fs/Kconfig > @@ -245,6 +245,16 @@ config HUGETLB_PAGE_FREE_VMEMMAP > depends on X86_64 > depends on SPARSEMEM_VMEMMAP > Now that you have no longer have the directmap in basepages limitation, I suppose you no longer need explicit arch support for HUGETLB_PAGE_FREE_VMEMMAP right? If so, I suppose you might be able to remove the 'depends on X86_64' part and "gain" ARM64, PPC, etc support. Joao