]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mm: slub: only warn once when allocating slab obj extensions fails
authorUsama Arif <usamaarif642@gmail.com>
Fri, 23 May 2025 16:52:40 +0000 (17:52 +0100)
committerVlastimil Babka <vbabka@suse.cz>
Mon, 26 May 2025 10:13:40 +0000 (12:13 +0200)
In memory bound systems, a large number of warnings for failing this
allocation repeatedly may mask any real issues in the system
during memory pressure being reported in dmesg. Change this to
warning only once.

Signed-off-by: Usama Arif <usamaarif642@gmail.com>
Reported-by: Vlad Poenaru <vlad.wing@gmail.com>
Closes: https://lore.kernel.org/all/17fab2d6-5a74-4573-bcc3-b75951508f0a@gmail.com/
Reviewed-by: Shakeel Butt <shakeel.butt@linux.dev>
Reviewed-by: SeongJae Park <sj@kernel.org>
Acked-by: Harry Yoo <harry.yoo@oracle.com>
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
mm/slub.c

index 566eb8b8282d271b65fdbc73f2cf6b5d3e326b5a..cf36373242435ab89e4edf9b4795d070d758b318 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2102,10 +2102,11 @@ prepare_slab_obj_exts_hook(struct kmem_cache *s, gfp_t flags, void *p)
 
        slab = virt_to_slab(p);
        if (!slab_obj_exts(slab) &&
-           WARN(alloc_slab_obj_exts(slab, s, flags, false),
-                "%s, %s: Failed to create slab extension vector!\n",
-                __func__, s->name))
+           alloc_slab_obj_exts(slab, s, flags, false)) {
+               pr_warn_once("%s, %s: Failed to create slab extension vector!\n",
+                            __func__, s->name);
                return NULL;
+       }
 
        return slab_obj_exts(slab) + obj_to_index(s, slab, p);
 }