From: Matthew Wilcox (Oracle) Date: Fri, 1 Oct 2021 19:17:27 +0000 (-0400) Subject: mm/slub: Convert free_partial() to use struct slab X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=429f7edbd31e9b47d92d5cb43bc0d8e5c10ddad8;p=users%2Fwilly%2Flinux.git mm/slub: Convert free_partial() to use struct slab Add a little type safety. Signed-off-by: Matthew Wilcox (Oracle) --- diff --git a/mm/slub.c b/mm/slub.c index ea7f8d9716e0a..875f3f6c1ae68 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4241,23 +4241,23 @@ static void list_slab_objects(struct kmem_cache *s, struct page *page, static void free_partial(struct kmem_cache *s, struct kmem_cache_node *n) { LIST_HEAD(discard); - struct page *page, *h; + struct slab *slab, *h; BUG_ON(irqs_disabled()); spin_lock_irq(&n->list_lock); - list_for_each_entry_safe(page, h, &n->partial, slab_list) { - if (!page->inuse) { - remove_partial(n, page); - list_add(&page->slab_list, &discard); + list_for_each_entry_safe(slab, h, &n->partial, slab_list) { + if (!slab->inuse) { + remove_partial(n, slab_page(slab)); + list_add(&slab->slab_list, &discard); } else { - list_slab_objects(s, page, + list_slab_objects(s, slab_page(slab), "Objects remaining in %s on __kmem_cache_shutdown()"); } } spin_unlock_irq(&n->list_lock); - list_for_each_entry_safe(page, h, &discard, slab_list) - discard_slab(s, page); + list_for_each_entry_safe(slab, h, &discard, slab_list) + discard_slab(s, slab_page(slab)); } bool __kmem_cache_empty(struct kmem_cache *s)