Re: [RFC PATCH v4 0/9] slub: Delay freezing of CPU partial slabs

From: Vlastimil Babka
Date: Wed Nov 01 2023 - 09:59:17 EST


> 3. Testing
> ==========
> We just did some simple testing on a server with 128 CPUs (2 nodes) to
> compare performance for now.
>
> - perf bench sched messaging -g 5 -t -l 100000
> baseline RFC
> 7.042s 6.966s
> 7.022s 7.045s
> 7.054s 6.985s
>
> - stress-ng --rawpkt 128 --rawpkt-ops 100000000
> baseline RFC
> 2.42s 2.15s
> 2.45s 2.16s
> 2.44s 2.17s

Looks like these numbers are carried over from the first RFC. Could you
please retest with v4 as there were some bigger changes (i.e. getting
rid of acquire_slab()).

Otherwise I think v5 can drop "RFC" and will add it to slab tree after
the merge window and 6.7-rc1. Thanks!

> It shows above there is about 10% improvement on stress-ng rawpkt
> testcase, although no much improvement on perf sched bench testcase.
>
> Thanks for any comment and code review!
>
> Chengming Zhou (9):
> slub: Reflow ___slab_alloc()
> slub: Change get_partial() interfaces to return slab
> slub: Keep track of whether slub is on the per-node partial list
> slub: Prepare __slab_free() for unfrozen partial slab out of node
> partial list
> slub: Introduce freeze_slab()
> slub: Delay freezing of partial slabs
> slub: Optimize deactivate_slab()
> slub: Rename all *unfreeze_partials* functions to *put_partials*
> slub: Update frozen slabs documentations in the source
>
> mm/slub.c | 381 ++++++++++++++++++++++++++----------------------------
> 1 file changed, 180 insertions(+), 201 deletions(-)
>