]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
slab: Remove folio references from kfree_rcu_sheaf()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Thu, 13 Nov 2025 00:09:25 +0000 (00:09 +0000)
committerVlastimil Babka <vbabka@suse.cz>
Thu, 13 Nov 2025 10:01:08 +0000 (11:01 +0100)
In preparation for splitting struct slab from struct page and struct
folio, remove mentions of struct folio from this function.  Since
we don't need to handle large kmalloc objects specially here, we
can just use virt_to_slab().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Link: https://patch.msgid.link/20251113000932.1589073-12-willy@infradead.org
Reviewed-by: Harry Yoo <harry.yoo@oracle.com>
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
mm/slab_common.c

index 67ad2328276eb324dbf144ed309169ce545df343..84dfff4f7b1fce8cd84514ee6225d297871cbfd9 100644 (file)
@@ -1615,17 +1615,15 @@ static void kfree_rcu_work(struct work_struct *work)
 static bool kfree_rcu_sheaf(void *obj)
 {
        struct kmem_cache *s;
-       struct folio *folio;
        struct slab *slab;
 
        if (is_vmalloc_addr(obj))
                return false;
 
-       folio = virt_to_folio(obj);
-       if (unlikely(!folio_test_slab(folio)))
+       slab = virt_to_slab(obj);
+       if (unlikely(!slab))
                return false;
 
-       slab = folio_slab(folio);
        s = slab->slab_cache;
        if (s->cpu_sheaves) {
                if (likely(!IS_ENABLED(CONFIG_NUMA) ||