On 10/24/18 9:53 AM, Laurence Oberman wrote:
> Both graphics and serial consoles are exposed to hard lockups
> when handling a large amount of messaging. The kernel watchdog_thresh
> parameter up to now has not been available to be set on the kernel line for
> early boot.
> This patch allows the setting of watchdog_thresh to be increased
> when needed to avoid the hard lockups in the console code.
> 
> Signed-off-by: Laurence Oberman <lober...@redhat.com>
> ---
>  Documentation/admin-guide/kernel-parameters.txt | 8 ++++++++
>  init/main.c                                     | 9 +++++++++
>  2 files changed, 17 insertions(+)
> 
> diff --git a/Documentation/admin-guide/kernel-parameters.txt 
> b/Documentation/admin-guide/kernel-parameters.txt
> index 4cdcd1a..cd8d588 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -4932,6 +4932,14 @@
>                       or other driver-specific files in the
>                       Documentation/watchdog/ directory.
>  
> +     watchdog_thresh=
> +                     This parameter is now available as a kernel line
> +                     parameter. Use watchdog_thresh=30 as example
> +                     This will allow early boot changes of the current
> +                     default of 10s to be increased when needed to
> +                     avoid hard lockups.
> +                     Default: 10
> +

The first sentence isn't needed.  and s/10s/10 seconds/
How about this?

                        This parameter allows early boot to change the default
                        value of the watchdog timeout threshold from the default
                        of 10 seconds to avoid hard lockups.  Example:
                        watchdog_thresh=30

                        

>       workqueue.watchdog_thresh=
>                       If CONFIG_WQ_WATCHDOG is configured, workqueue can
>                       warn stall conditions and dump internal state to
> diff --git a/init/main.c b/init/main.c
> index 1c3f902..88cbed9 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -1038,6 +1038,15 @@ static int __init set_debug_rodata(char *str)
>  __setup("rodata=", set_debug_rodata);
>  #endif
>  
> +static int __init
> +is_watchdog_thresh_setup(char *str)

No need to split that into 2 lines; just join them, please.

> +{
> +     get_option(&str, &watchdog_thresh);
> +     return 1;
> +}
> +__setup("watchdog_thresh=", is_watchdog_thresh_setup);
> +
> +
>  #ifdef CONFIG_STRICT_KERNEL_RWX
>  static void mark_readonly(void)
>  {
> 


-- 
~Randy

Reply via email to