On Thu, May 18, 2017 at 08:24:44PM -0700, 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. > > Reviewed-by: Petr Mladek <pmladek@xxxxxxxx> > Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx> > --- > kernel/kmod.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/kernel/kmod.c b/kernel/kmod.c > index 7ea11dbc7564..56cd2a16e7ac 100644 > --- a/kernel/kmod.c > +++ b/kernel/kmod.c > @@ -166,7 +166,6 @@ int __request_module(bool wait, const char *fmt, ...) > va_list args; > char module_name[MODULE_NAME_LEN]; > int ret; > - static int kmod_loop_msg; > > /* > * We don't allow synchronous module loading from async. Module > @@ -191,13 +190,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("%s: module \"%s\" reached limit (%u) of concurrent modprobe calls\n", > + __func__, module_name, max_modprobes); This is completely different behavior, isn't it? Instead of reporting first 5 occurrences we now reporting every once in a while. Why is this new behavior better? -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html