From: Liam R. Howlett Date: Thu, 12 Dec 2024 14:13:12 +0000 (-0500) Subject: slub: Reverse barn_get_full_or_empty_sheaf() ordering X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=2e062c7bce0d975d1c2ec9251d7a48f74eff8009;p=users%2Fjedix%2Flinux-maple.git slub: Reverse barn_get_full_or_empty_sheaf() ordering Get full sheaves before returning empty ones Signed-off-by: Liam R. Howlett --- 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);