Re: [PATCH 1/5] mm: hugetlb: introduce helpers to preallocate/free page tables

From: Mike Kravetz
Date: Thu Jun 10 2021 - 17:49:49 EST


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