On 6/9/21 5:13 AM, Muchun Song wrote: > On some architectures (e.g. x86_64 and arm64), vmemmap pages are usually > mapped with huge pmd. We will disable the huge pmd mapping of vmemmap > pages when the feature of "Free vmemmap pages of HugeTLB page" is enabled. > This can affect the non-HugeTLB pages. What we want is only mapping the > vmemmap pages associated with HugeTLB pages with base page. We can split > the huge pmd mapping of vmemmap pages when freeing vmemmap pages of > HugeTLB page. But we need to preallocate page tables. In this patch, we > introduce page tables allocationg/freeing helpers. > > Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx> > --- > mm/hugetlb_vmemmap.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > mm/hugetlb_vmemmap.h | 12 ++++++++++++ > 2 files changed, 66 insertions(+) These helper routines are pretty straight forward. Reviewed-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> -- Mike Kravetz