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

From: Muchun Song
Date: Mon Sep 25 2023 - 06:25:34 EST




> On Sep 25, 2023, at 08:39, 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.