Re: [SLUB] nfs_page cmpxchg_double_fail and perf lock perturbation on dual-socket NFS/RDMA

From: Harry Yoo

Date: Mon Sep 21 2026 - 12:53:39 EST


On Fri, Sep 18, 2026 at 09:08:37AM +0200, Vlastimil Babka (SUSE) wrote:
> On 9/17/26 18:25, Tim Menninger wrote:
> > It reproduces with slab_nomerge.
> >
> > I booted the same kernel with:
> >
> > $ cat /proc/cmdline
> > ... slab_nomerge ...
> >
> > Uninstrumented throughput remains in the high-45 to low-46 GB/s
> > range, as before. During perf lock it was around 30 GB/s in these
> > runs, versus roughly 25 GB/s previously.
> >
> > The dominant lock measurements are essentially unchanged:
> >
> > default slab_nomerge
> > unpinned/node0
> > contentions 4,782,839 4,858,759
> > total wait 14.39 min 14.26 min
> > average wait 180.47 us 176.13 us
> >
> > node0/node0
> > contentions 4,582,012 4,686,729
> > total wait 14.13 min 14.34 min
> > average wait 185.05 us 183.53 us
> >
> > unpinned/balanced
> > contentions 4,572,196 4,544,677
> > total wait 12.81 min 12.56 min
> > average wait 168.14 us 165.84 us
> >
> > The uninstrumented cmpxchg_double_fail deltas were:
> >
> > default slab_nomerge
> > unpinned/node0 7,471 8,892
> > node0/node0 713 457
> > unpinned/balanced 1,503 1,504
> >
> > The CPU-utilization change while perf lock is active also remains.
> > System-wide %idle for uninstrumented/instrumented windows was:
> >
> > default slab_nomerge
> > uninstr. instr. uninstr. instr.
> > unpinned/node0 31.46% 3.60% 23.02% 2.15%
> > node0/node0 84.26% 12.07% 84.62% 11.85%
> > unpinned/balanced 66.86% 14.83% 66.58% 14.78%
>
> I believe the weirdest part in the original report was how slub stat
> counters such as free_fastpath etc got order of magnitude higher with
> instrumented vs non-instrumented.
> Did any of that change with slab_nomerge?

If it didn't change, that'd be very surprising.
... unless perf lock was writing data to an NFS filesystem?

--
Cheers,
Harry / Hyeonggon