]> www.infradead.org Git - users/willy/linux.git/commitdiff
mm/slub: Convert trace() to take a struct slab
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Sat, 2 Oct 2021 02:57:19 +0000 (22:57 -0400)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 4 Oct 2021 13:18:00 +0000 (09:18 -0400)
Improves type safety and removes calls to slab_page().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
mm/slub.c

index d941bd188a8ed4d3bb2ddb2c5b2f575fce876c00..72a50fab64b5c02b386a0b73a580ebda7b8995b8 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1165,15 +1165,15 @@ static int on_freelist(struct kmem_cache *s, struct slab *slab, void *search)
        return search == NULL;
 }
 
-static void trace(struct kmem_cache *s, struct page *page, void *object,
+static void trace(struct kmem_cache *s, struct slab *slab, void *object,
                                                                int alloc)
 {
        if (s->flags & SLAB_TRACE) {
                pr_info("TRACE %s %s 0x%p inuse=%d fp=0x%p\n",
                        s->name,
                        alloc ? "alloc" : "free",
-                       object, page->inuse,
-                       page->freelist);
+                       object, slab->inuse,
+                       slab->freelist);
 
                if (!alloc)
                        print_section(KERN_INFO, "Object ", (void *)object,
@@ -1291,7 +1291,7 @@ static noinline int alloc_debug_processing(struct kmem_cache *s,
        /* Success perform special debug activities for allocs */
        if (s->flags & SLAB_STORE_USER)
                set_track(s, object, TRACK_ALLOC, addr);
-       trace(s, slab_page(slab), object, 1);
+       trace(s, slab, object, 1);
        init_object(s, object, SLUB_RED_ACTIVE);
        return 1;
 
@@ -1370,7 +1370,7 @@ next_object:
 
        if (s->flags & SLAB_STORE_USER)
                set_track(s, object, TRACK_FREE, addr);
-       trace(s, slab_page(slab), object, 0);
+       trace(s, slab, object, 0);
        /* Freepointer not overwritten by init_object(), SLAB_POISON moved it */
        init_object(s, object, SLUB_RED_INACTIVE);