mm: Ratelimited mirrored memory related warning messages
authorMa Wupeng <mawupeng1@huawei.com>
Tue, 14 Jun 2022 09:21:53 +0000 (17:21 +0800)
committerArd Biesheuvel <ardb@kernel.org>
Wed, 15 Jun 2022 10:14:00 +0000 (12:14 +0200)
If system has mirrored memory, memblock will try to allocate mirrored
memory firstly and fallback to non-mirrored memory when fails, but if with
limited mirrored memory or some numa node without mirrored memory, lots of
warning message about memblock allocation will occur.

This patch ratelimit the warning message to avoid a very long print during
bootup.

Signed-off-by: Ma Wupeng <mawupeng1@huawei.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Link: https://lore.kernel.org/r/20220614092156.1972846-3-mawupeng1@huawei.com
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
mm/memblock.c

index e4f03a6e8e56e751a807df41bff38e9aabc83ce2..b1d2a0009733b3352b86f2aa223d4e2a78948f88 100644 (file)
@@ -327,7 +327,7 @@ again:
                                            NUMA_NO_NODE, flags);
 
        if (!ret && (flags & MEMBLOCK_MIRROR)) {
-               pr_warn("Could not allocate %pap bytes of mirrored memory\n",
+               pr_warn_ratelimited("Could not allocate %pap bytes of mirrored memory\n",
                        &size);
                flags &= ~MEMBLOCK_MIRROR;
                goto again;
@@ -1384,7 +1384,7 @@ again:
 
        if (flags & MEMBLOCK_MIRROR) {
                flags &= ~MEMBLOCK_MIRROR;
-               pr_warn("Could not allocate %pap bytes of mirrored memory\n",
+               pr_warn_ratelimited("Could not allocate %pap bytes of mirrored memory\n",
                        &size);
                goto again;
        }