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

From: Konrad Dybcio
Date: Mon Oct 02 2023 - 05:57:19 EST




On 9/29/23 22:57, Mike Kravetz wrote:
On 09/27/23 13:26, Konrad Dybcio wrote:


On 26.09.2023 01:48, 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>
Reviewed-by: Muchun Song <songmuchun@xxxxxxxxxxxxx>
---
Hi, looks like this patch prevents today's next from booting
on at least one Qualcomm ARM64 platform. Reverting it makes
the device boot again.

Can you share the config used and any other specific information such as
kernel command line.
Later this week.

Konrad