OSDN Git Service

mm: cma: use pr_err_ratelimited for CMA warning
authorBaolin Wang <baolin.wang@linux.alibaba.com>
Wed, 5 May 2021 01:37:22 +0000 (18:37 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 5 May 2021 18:27:24 +0000 (11:27 -0700)
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>
mm/cma.c

index b44a71e..a862ff8 100644 (file)
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -500,8 +500,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);
        }