]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
slab: Remove folio references from ___kmalloc_large_node()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Thu, 13 Nov 2025 00:09:19 +0000 (00:09 +0000)
committerVlastimil Babka <vbabka@suse.cz>
Thu, 13 Nov 2025 10:01:08 +0000 (11:01 +0100)
There's no need to use folio APIs here; just use a page directly.

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

index 112222eacdcbcd6d7bb4176f25c69c853e0d7c9a..458e58e374806eb99f9f5e89e01afad3806afde2 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -5571,7 +5571,7 @@ unsigned int kmem_cache_sheaf_size(struct slab_sheaf *sheaf)
  */
 static void *___kmalloc_large_node(size_t size, gfp_t flags, int node)
 {
-       struct folio *folio;
+       struct page *page;
        void *ptr = NULL;
        unsigned int order = get_order(size);
 
@@ -5581,15 +5581,15 @@ static void *___kmalloc_large_node(size_t size, gfp_t flags, int node)
        flags |= __GFP_COMP;
 
        if (node == NUMA_NO_NODE)
-               folio = (struct folio *)alloc_frozen_pages_noprof(flags, order);
+               page = alloc_frozen_pages_noprof(flags, order);
        else
-               folio = (struct folio *)__alloc_frozen_pages_noprof(flags, order, node, NULL);
+               page = __alloc_frozen_pages_noprof(flags, order, node, NULL);
 
-       if (folio) {
-               ptr = folio_address(folio);
-               lruvec_stat_mod_folio(folio, NR_SLAB_UNRECLAIMABLE_B,
+       if (page) {
+               ptr = page_address(page);
+               mod_lruvec_page_state(page, NR_SLAB_UNRECLAIMABLE_B,
                                      PAGE_SIZE << order);
-               __folio_set_large_kmalloc(folio);
+               __SetPageLargeKmalloc(page);
        }
 
        ptr = kasan_kmalloc_large(ptr, size, flags);