From: Xiongwei Song <xiongwei.song@xxxxxxxxxxxxx> We can use slub_get_cpu_partial() to read cpu_partial_slabs. Signed-off-by: Xiongwei Song <xiongwei.song@xxxxxxxxxxxxx> --- mm/slub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/slub.c b/mm/slub.c index ec91c7435d4e..47ea06d6feae 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -2966,7 +2966,7 @@ static void put_cpu_partial(struct kmem_cache *s, struct slab *slab, int drain) oldslab = this_cpu_read(s->cpu_slab->partial); if (oldslab) { - if (drain && oldslab->slabs >= s->cpu_partial_slabs) { + if (drain && oldslab->slabs >= slub_get_cpu_partial(s)) { /* * Partial array is full. Move the existing set to the * per node partial list. Postpone the actual unfreezing -- 2.27.0