mm, slub: don't call flush_all() from slab_debug_trace_open()
authorVlastimil Babka <vbabka@suse.cz>
Fri, 28 May 2021 12:32:10 +0000 (14:32 +0200)
committerVlastimil Babka <vbabka@suse.cz>
Fri, 3 Sep 2021 21:56:49 +0000 (23:56 +0200)
slab_debug_trace_open() can only be called on caches with SLAB_STORE_USER flag
and as with all slub debugging flags, such caches avoid cpu or percpu partial
slabs altogether, so there's nothing to flush.

Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Christoph Lameter <cl@linux.com>
mm/slub.c

index f77d8cd..f6063ec 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -5825,9 +5825,6 @@ static int slab_debug_trace_open(struct inode *inode, struct file *filep)
        if (!alloc_loc_track(t, PAGE_SIZE / sizeof(struct location), GFP_KERNEL))
                return -ENOMEM;
 
-       /* Push back cpu slabs */
-       flush_all(s);
-
        for_each_kmem_cache_node(s, node, n) {
                unsigned long flags;
                struct page *page;