On 10/24/18 11:06 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 | 7 +++++++ > init/main.c | 8 ++++++++ > 2 files changed, 15 insertions(+) >
Laurence, Here are a few more changes for you to consider. > diff --git a/Documentation/admin-guide/kernel-parameters.txt > b/Documentation/admin-guide/kernel-parameters.txt > index 4cdcd1a..05f76b8 100644 > --- a/Documentation/admin-guide/kernel-parameters.txt > +++ b/Documentation/admin-guide/kernel-parameters.txt > @@ -4932,6 +4932,13 @@ > or other driver-specific files in the > Documentation/watchdog/ directory. > > + watchdog_thresh= > + This parameter allows early boot to change the > + value of the watchdog timeout threshold from the default > + of 10 seconds to avoid hard lockups. Example: > + watchdog_thresh=30 No extra char indent above. > + Default: 10 > + > 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..ae45291 100644 > --- a/init/main.c > +++ b/init/main.c > @@ -1038,6 +1038,14 @@ static int __init set_debug_rodata(char *str) > __setup("rodata=", set_debug_rodata); > #endif > #ifdef CONFIG_LOCKUP_DETECTOR extern int watchdog_thresh; > +static int __init is_watchdog_thresh_setup(char *str) > +{ > + get_option(&str, &watchdog_thresh); > + return 1; > +} > +__setup("watchdog_thresh=", is_watchdog_thresh_setup); > + #endif and I would change the function name above to just watchdog_thresh_setup() or setup_watchdog_thresh(). > + > #ifdef CONFIG_STRICT_KERNEL_RWX > static void mark_readonly(void) > { > -- ~Randy