Re: [PATCH] mm: ratelimit PFNs busy info message

From: Andrew Morton
Date: Wed Aug 02 2017 - 17:18:20 EST


On Wed, 2 Aug 2017 13:44:57 -0400 Jonathan Toppins <jtoppins@xxxxxxxxxx> wrote:

> The RDMA subsystem can generate several thousand of these messages per
> second eventually leading to a kernel crash. Ratelimit these messages
> to prevent this crash.

Well... why are all these EBUSY's occurring? It sounds inefficient (at
least) but if it is expected, normal and unavoidable then perhaps we
should just remove that message altogether?

> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -7666,7 +7666,7 @@ int alloc_contig_range(unsigned long start, unsigned long end,
>
> /* Make sure the range is really isolated. */
> if (test_pages_isolated(outer_start, end, false)) {
> - pr_info("%s: [%lx, %lx) PFNs busy\n",
> + pr_info_ratelimited("%s: [%lx, %lx) PFNs busy\n",
> __func__, outer_start, end);
> ret = -EBUSY;
> goto done;