[PATCH 4/4] mm/slub: don't read slab->cpu_partial_slabs directly

From: xiongwei.song
Date: Sat Mar 30 2024 - 23:05:22 EST


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