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

From: Hyeonggon Yoo
Date: Sun Oct 22 2023 - 10:53:19 EST


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>

Will review when I have free 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
>