Re: [PATCH 05/10] mm, page_alloc: scale the number of pages that are batch allocated

From: Mel Gorman
Date: Wed Oct 11 2023 - 08:54:37 EST


On Wed, Sep 20, 2023 at 02:18:51PM +0800, Huang Ying wrote:
> When a task is allocating a large number of order-0 pages, it may
> acquire the zone->lock multiple times allocating pages in batches.
> This may unnecessarily contend on the zone lock when allocating very
> large number of pages. This patch adapts the size of the batch based
> on the recent pattern to scale the batch size for subsequent
> allocations.
>
> On a 2-socket Intel server with 224 logical CPU, we tested kbuild on
> one socket with `make -j 112`. With the patch, the cycles% of the
> spinlock contention (mostly for zone lock) decreases from 40.5% to
> 37.9% (with PCP size == 361).
>
> Signed-off-by: "Huang, Ying" <ying.huang@xxxxxxxxx>
> Suggested-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>

Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>

--
Mel Gorman
SUSE Labs