Re: [PATCH v6 0/4] mm/zsmalloc: reduce lock contention in zs_free()
From: Sergey Senozhatsky
Date: Sat Jul 25 2026 - 01:30:56 EST
On (26/07/25 11:57), Barry Song (Xiaomi) wrote:
> On Fri, Jul 24, 2026 at 12:55 PM Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx> wrote:
> >
> > Apologies for the delay.
> >
> > On (26/06/27 21:36), Andrew Morton wrote:
> > [..]
> > > > Raspberry Pi 4B (4-core ARM64 Cortex-A72):
> > > >
> > > > mode Base Patched Speedup
> > > > single 59.0ms 56.0ms 1.05x
> > > > multi 2p 94.6ms 66.7ms 1.42x
> > > > multi 4p 202.9ms 110.6ms 1.83x
> > > >
> > > > x86 (20-core Intel i7-12700, 16 concurrent processes):
> > > >
> > > > mode Base Patched Speedup
> > > > single 11.7ms 9.8ms 1.19x
> > > > multi 2p 24.1ms 17.2ms 1.40x
> > > > multi 4p 63.0ms 45.3ms 1.39x
> > >
> > > Well that's a nice result.
> >
> > Indeed.
> >
> > > Sashiko AI review said .... nothing. I don't recall seeing that
> > > before ;)
> >
> > grep-ing the code, I wonder if we maybe want to tweak some comments.
> > Namely, zs_page_migrate() says:
> >
> > The pool migrate_lock protects the race between zpage migration
> > and zs_free
> >
> > which is not entirely true anymore, as zs_free() has a lockless path
> > that doesn't take pool look (when ZS_OBJ_CLASS_BITS permit).
> >
> > Likewise, __zs_compact() says the following about pool migrate_lock:
> >
> > protect the race between zpage migration and zs_free
> >
> > None of these are critical, very minor.
>
> Does it look good to you if we squash the below change into patch2/4:
Sure, looks good to me!