mm: cma: use pr_err_ratelimited for CMA warning
authorBaolin Wang <baolin.wang@linux.alibaba.com>
Wed, 21 Apr 2021 04:44:11 +0000 (14:44 +1000)
committerHoegeun Kwon <hoegeun.kwon@samsung.com>
Mon, 7 Feb 2022 08:01:41 +0000 (17:01 +0900)
If we did not reserve extra CMA memory, the log buffer can be easily
filled up by CMA failure warning when the devices calling
dmam_alloc_coherent() to alloc DMA memory.  Thus we can use
pr_err_ratelimited() instead to reduce the duplicate CMA warning.

Link: https://lkml.kernel.org/r/ce2251ef49e1727a9a40531d1996660b05462bd2.1615279825.git.baolin.wang@linux.alibaba.com
Signed-off-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=63f83b31f4f36d933e13bd8b9a25d6d9a0cf89dd
Signed-off-by: Ɓukasz Stelmach <l.stelmach@samsung.com>
Change-Id: I24e03acb8288fc60e22dddfd409d56b50f3ac12f

mm/cma.c

index 9749e95..18046bf 100644 (file)
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -486,8 +486,8 @@ struct page *cma_alloc(struct cma *cma, size_t count, unsigned int align,
        }
 
        if (ret && !no_warn) {
-               pr_err("%s: %s: alloc failed, req-size: %zu pages, ret: %d\n",
-                      __func__, cma->name, count, ret);
+               pr_err_ratelimited("%s: %s: alloc failed, req-size: %zu pages, ret: %d\n",
+                                  __func__, cma->name, count, ret);
                cma_debug_show_areas(cma);
        }