From 2e062c7bce0d975d1c2ec9251d7a48f74eff8009 Mon Sep 17 00:00:00 2001 From: "Liam R. Howlett" Date: Thu, 12 Dec 2024 09:13:12 -0500 Subject: [PATCH] slub: Reverse barn_get_full_or_empty_sheaf() ordering Get full sheaves before returning empty ones Signed-off-by: Liam R. Howlett --- mm/slub.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mm/slub.c b/mm/slub.c index f94614ff3086..89480ba75fef 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -2827,16 +2827,16 @@ static struct slab_sheaf *barn_get_full_or_empty_sheaf(struct node_barn *barn) spin_lock_irqsave(&barn->lock, flags); - if (barn->nr_empty) { - sheaf = list_first_entry(&barn->sheaves_empty, - struct slab_sheaf, barn_list); - list_del(&sheaf->barn_list); - barn->nr_empty--; - } else if (barn->nr_full) { + if (barn->nr_full) { sheaf = list_first_entry(&barn->sheaves_full, struct slab_sheaf, barn_list); list_del(&sheaf->barn_list); barn->nr_full--; + } else if (barn->nr_empty) { + sheaf = list_first_entry(&barn->sheaves_empty, + struct slab_sheaf, barn_list); + list_del(&sheaf->barn_list); + barn->nr_empty--; } spin_unlock_irqrestore(&barn->lock, flags); -- 2.49.0