Re: [PATCH 2/9] mm/page_alloc: Convert per-cpu list protection to local_lock

From: Vlastimil Babka
Date: Thu Apr 22 2021 - 08:34:32 EST


On 4/22/21 1:14 PM, Mel Gorman wrote:
> There is a lack of clarity of what exactly local_irq_save/local_irq_restore
> protects in page_alloc.c . It conflates the protection of per-cpu page
> allocation structures with per-cpu vmstat deltas.
>
> This patch protects the PCP structure using local_lock which for most
> configurations is identical to IRQ enabling/disabling. The scope of the
> lock is still wider than it should be but this is decreased later.
>
> It is possible for the local_lock to be embedded safely within struct
> per_cpu_pages but it adds complexity to free_unref_page_list.
>
> [lkp@xxxxxxxxx: Make pagesets static]
> Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>