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