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 >