Re: [RFC 07/10] kmod: use simplified rate limit printk

From: Joe Perches
Date: Wed Dec 14 2016 - 11:41:49 EST


On Wed, 2016-12-14 at 17:23 +0100, Petr Mladek wrote:
> On Thu 2016-12-08 11:49:01, Luis R. Rodriguez wrote:
> > Just use the simplified rate limit printk when the max modprobe
> > limit is reached, while at it throw out a bone should the error
> > be triggered.
[]
> > diff --git a/kernel/kmod.c b/kernel/kmod.c
[]
> > @@ -183,13 +182,8 @@ int __request_module(bool wait, const char *fmt, ...)
> >
> > ret = kmod_umh_threads_get();
> > if (ret) {
> > - /* We may be blaming an innocent here, but unlikely */
> > - if (kmod_loop_msg < 5) {
> > - printk(KERN_ERR
> > - "request_module: runaway loop modprobe %s\n",
> > - module_name);
> > - kmod_loop_msg++;
> > - }
> > + pr_err_ratelimited("request_module: modprobe limit (%u) reached with module %s\n",
> > + max_modprobes, module_name);
>
> I like this change. I would only be even more descriptive in which
> limit is reached. Something like
>
> pr_err_ratelimited("request_module: module \"%s\" reached limit (%u) of concurrent modprobe calls\n",
> module_name, max_modprobes);
>
> Either way, feel free to add:
>
> Reviewed-by: Petr Mladek <pmladek@xxxxxxxx>

Seems sensible.

I suggest using "%s: ", __func__ instead of embedding
the function name.