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.