Re: [PATCH v8 3/8] hugetlb: perform vmemmap optimization on a list of pages

From: Muchun Song
Date: Wed Oct 18 2023 - 23:13:12 EST




> On Oct 19, 2023, at 10:31, Mike Kravetz <mike.kravetz@xxxxxxxxxx> wrote:
>
> When adding hugetlb pages to the pool, we first create a list of the
> allocated pages before adding to the pool. Pass this list of pages to a
> new routine hugetlb_vmemmap_optimize_folios() for vmemmap optimization.
>
> Due to significant differences in vmemmmap initialization for bootmem
> allocated hugetlb pages, a new routine prep_and_add_bootmem_folios
> is created.
>
> We also modify the routine vmemmap_should_optimize() to check for pages
> that are already optimized. There are code paths that might request
> vmemmap optimization twice and we want to make sure this is not
> attempted.
>
> Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>

Reviewed-by: Muchun Song <songmuchun@xxxxxxxxxxxxx>

Thanks.