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

From: Chengming Zhou
Date: Wed Nov 01 2023 - 22:19:37 EST


On 2023/11/1 21:59, Vlastimil Babka wrote:
>> 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!

Ah, yes, I will retest v5 and update the numbers today.

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(-)
>>