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 <pmla...@suse.com>
> Signed-off-by: Luis R. Rodriguez <mcg...@kernel.org>
> ---
>  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-doc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to