Re: [PATCH] V4 init/main.c Enable watchdog_thresh control from kernel line
Hi Laurence, Thank you for the patch! Yet something to improve: [auto build test ERROR on linux-sof-driver/master] [also build test ERROR on v4.19 next-20181029] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Laurence-Oberman/V4-init-main-c-Enable-watchdog_thresh-control-from-kernel-line/20181025-040136 base: https://github.com/thesofproject/linux master config: i386-randconfig-k3-10291547 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): init/main.c: In function 'is_watchdog_thresh_setup': >> init/main.c:1036:20: error: 'watchdog_thresh' undeclared (first use in this >> function); did you mean 'proc_watchdog_thresh'? get_option(&str, &watchdog_thresh); ^~~ proc_watchdog_thresh init/main.c:1036:20: note: each undeclared identifier is reported only once for each function it appears in vim +1036 init/main.c 1033 1034 static int __init is_watchdog_thresh_setup(char *str) 1035 { > 1036 get_option(&str, &watchdog_thresh); 1037 return 1; 1038 } 1039 __setup("watchdog_thresh=", is_watchdog_thresh_setup); 1040 1041 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] V4 init/main.c Enable watchdog_thresh control from kernel line
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 > --- > 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
Re: [PATCH] V4 init/main.c Enable watchdog_thresh control from kernel line
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 Acked-by: Randy Dunlap Thanks. > --- > Documentation/admin-guide/kernel-parameters.txt | 7 +++ > init/main.c | 8 > 2 files changed, 15 insertions(+) > > 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 > + 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 > > +static int __init is_watchdog_thresh_setup(char *str) > +{ > + 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
[PATCH] V4 init/main.c Enable watchdog_thresh control from kernel line
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 --- Documentation/admin-guide/kernel-parameters.txt | 7 +++ init/main.c | 8 2 files changed, 15 insertions(+) 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 + 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 +static int __init is_watchdog_thresh_setup(char *str) +{ + get_option(&str, &watchdog_thresh); + return 1; +} +__setup("watchdog_thresh=", is_watchdog_thresh_setup); + + #ifdef CONFIG_STRICT_KERNEL_RWX static void mark_readonly(void) { -- 1.8.3.1