Re: [PATCH] mm: page_alloc: use the correct THP order for THP PCP

From: Baolin Wang
Date: Fri Apr 05 2024 - 08:17:25 EST




On 2024/4/5 12:53, Barry Song wrote:
On Thu, Apr 4, 2024 at 2:47 AM Baolin Wang
<baolin.wang@xxxxxxxxxxxxxxxxx> wrote:

Commit 44042b449872 ("mm/page_alloc: allow high-order pages to be stored
on the per-cpu lists") extends the PCP allocator to store THP pages, and
it determines whether to cache THP pags in PCP by comparing with pageblock_order.
But the pageblock_order is not always equal to THP order, it might also
be MAX_PAGE_ORDER, which could prevent PCP from caching THP pages.

Therefore, using HPAGE_PMD_ORDER instead to determine the need for caching
THP for PCP can fix this issue

Fixes: 44042b449872 ("mm/page_alloc: allow high-order pages to be stored on the per-cpu lists")
Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>

LGTM,
Reviewed-by: Barry Song <baohua@xxxxxxxxxx>

In the context of using mTHP, perhaps there arises a need for PCP
allocation for frequently
requested mTHP orders. These orders typically exceed PAGE_ALLOC_COSTLY_ORDER
but are smaller than HPAGE_PMD_ORDER.

Yes, I have also considered this, but haven't found some time to do more investigation and run some benchmarks.:) May be we can create a new thread to talk about this first.