Re: [PATCH v4 3/4] swap: apply new pw_queue_on() interface
From: Leonardo Bras
Date: Mon Jul 13 2026 - 17:29:10 EST
On Mon, Jul 13, 2026 at 09:31:58AM +0200, Sebastian Andrzej Siewior wrote:
> On 2026-07-12 18:43:48 [-0300], Leonardo Bras wrote:
> > > I thought that this improved since commit
> > > ff042f4a9b050 ("mm: lru_cache_disable: replace work queue synchronization with synchronize_rcu")
> > >
> > > Did it get worse or was it not entirely gone?
> > >
> >
> > I worked in this patchset majorly after that commit date, and it was still
> > an issue up to last time Marcelo tested. Not sure of the impact of above
> > commit, but I suppose it may have brought some improvements without fully
> > fixing it.
>
> It would be good to know what is still missing and maybe it can be
> addressed without introducing this remote locking.
>
I get the point, but the main idea is to make this as proof of concept of
the mechanism, that can use to solve the latency introduced by IPIs from
per-cpu workqueues.
I remember discussing all those examples with Marcelo in the past, and IIRC
to solve this we would either have to use per-cpu spinlocks, which is
undesired in terms of performance on !RT, or skip remote operations in
isolated cpus, which may have weird behaviors, or disable caches in
isolated cpus which is terrible for performance there.
In any case, the main goal is to get something generic enough to deal with
most cases, not an individual solution.
Thanks!
Leo