Re: [PATCH] mm: reduce spinlock contention in release_pages()

From: Matthew Wilcox
Date: Wed Nov 24 2021 - 22:32:55 EST


On Thu, Nov 25, 2021 at 11:24:02AM +0800, Hao Lee wrote:
> On Thu, Nov 25, 2021 at 12:31 AM Michal Hocko <mhocko@xxxxxxxx> wrote:
> > We do batch currently so no single task should be
> > able to monopolize the cpu for too long. Why this is not sufficient?
>
> uncharge and unref indeed take advantage of the batch process, but
> del_from_lru needs more time to complete. Several tasks will contend
> spinlock in the loop if nr is very large.

Is SWAP_CLUSTER_MAX too large? Or does your architecture's spinlock
implementation need to be fixed?