Re: [RFC PATCH v2 0/6] slub: Delay freezing of CPU partial slabs

From: Chengming Zhou
Date: Mon Oct 23 2023 - 22:02:42 EST


On 2023/10/22 22:52, Hyeonggon Yoo wrote:
> On Sat, Oct 21, 2023 at 11:43 PM <chengming.zhou@xxxxxxxxx> wrote:
>>
>> From: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx>
>>
>> Changes in RFC v2:
>> - Reuse PG_workingset bit to keep track of whether slub is on the
>> per-node partial list, as suggested by Matthew Wilcox.
>> - Fix OOM problem on kernel without CONFIG_SLUB_CPU_PARTIAL, which
>> is caused by leak of partial slabs when get_partial_node().
>> - Add a patch to simplify acquire_slab().
>> - Reorder patches a little.
>> - v1: https://lore.kernel.org/all/20231017154439.3036608-1-chengming.zhou@xxxxxxxxx/
>
> I've picked [1] and tested this patch series and it passed a simple MM
> & slab test
> in 30 different SLUB configurations [2].
>
> Also there's code coverage information [3] if you're interested :P
>
> For the series,
> Tested-by: Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx>

Thank you! These are very helpful to me, I will also do more workloads
stress testing with more configurations.

>
> Will review when I have free time ;)

Ok, thanks for your time.

> Thanks!
>
> [1] https://git.kerneltesting.org/slab-experimental/log/
> [2] https://jenkins.kerneltesting.org/job/slab-experimental/
> [3] https://coverage.kerneltesting.org/slab-experimental-6283c415/mm/index.html
>
>> Chengming Zhou (6):
>> 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: Don't freeze slabs for cpu partial
>> slub: Simplify acquire_slab()
>> slub: Introduce get_cpu_partial()
>> slub: Optimize deactivate_slab()
>>
>> include/linux/page-flags.h | 2 +
>> mm/slab.h | 19 +++
>> mm/slub.c | 245 +++++++++++++++++++------------------
>> 3 files changed, 150 insertions(+), 116 deletions(-)
>>
>> --
>> 2.20.1
>>