Re: [PATCH v8 2/8] hugetlb: restructure pool allocations

From: Sergey Senozhatsky
Date: Sat Oct 21 2023 - 03:48:51 EST


On (23/10/18 19:31), Mike Kravetz wrote:
> Allocation of a hugetlb page for the hugetlb pool is done by the routine
> alloc_pool_huge_page. This routine will allocate contiguous pages from
> a low level allocator, prep the pages for usage as a hugetlb page and
> then add the resulting hugetlb page to the pool.
>
> In the 'prep' stage, optional vmemmap optimization is done. For
> performance reasons we want to perform vmemmap optimization on multiple
> hugetlb pages at once. To do this, restructure the hugetlb pool
> allocation code such that vmemmap optimization can be isolated and later
> batched.
>
> The code to allocate hugetlb pages from bootmem was also modified to
> allow batching.
>
> No functional changes, only code restructure.
>
> Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>

Tested-by: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx>