Skip to content

Commit f262cfd

Browse files
Matthew Wilcox (Oracle)tehcaster
authored andcommitted
slab: Remove folio references from kvfree_rcu_cb()
Remove conversions from folio to page and folio to slab. This is preparation for separately allocated struct slab from struct page. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Link: https://patch.msgid.link/20251113000932.1589073-8-willy@infradead.org Reviewed-by: Harry Yoo <harry.yoo@oracle.com> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
1 parent 0bdfdd6 commit f262cfd

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

mm/slub.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6771,7 +6771,7 @@ static void free_large_kmalloc(struct page *page, void *object)
67716771
void kvfree_rcu_cb(struct rcu_head *head)
67726772
{
67736773
void *obj = head;
6774-
struct folio *folio;
6774+
struct page *page;
67756775
struct slab *slab;
67766776
struct kmem_cache *s;
67776777
void *slab_addr;
@@ -6782,20 +6782,20 @@ void kvfree_rcu_cb(struct rcu_head *head)
67826782
return;
67836783
}
67846784

6785-
folio = virt_to_folio(obj);
6786-
if (!folio_test_slab(folio)) {
6785+
page = virt_to_page(obj);
6786+
slab = page_slab(page);
6787+
if (!slab) {
67876788
/*
67886789
* rcu_head offset can be only less than page size so no need to
6789-
* consider folio order
6790+
* consider allocation order
67906791
*/
67916792
obj = (void *) PAGE_ALIGN_DOWN((unsigned long)obj);
6792-
free_large_kmalloc(&folio->page, obj);
6793+
free_large_kmalloc(page, obj);
67936794
return;
67946795
}
67956796

6796-
slab = folio_slab(folio);
67976797
s = slab->slab_cache;
6798-
slab_addr = folio_address(folio);
6798+
slab_addr = slab_address(slab);
67996799

68006800
if (is_kfence_address(obj)) {
68016801
obj = kfence_object_start(obj);

0 commit comments

Comments
 (0)