LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] [PATCH V7] watchdog/core: Add watchdog_thresh command line  parameter
@ 2018-10-30 14:50 Laurence Oberman
  2018-11-01 11:55 ` Thomas Gleixner
  0 siblings, 1 reply; 2+ messages in thread
From: Laurence Oberman @ 2018-10-30 14:50 UTC (permalink / raw)
  To: tglx; +Cc: linux-kernel, rdunlap, prarit, Laurence Oberman

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 extend the hard lockup timer in the console code.
Note that this also affects the soft lockup detector

Signed-off-by: Laurence Oberman <loberman@redhat.com>

---
 Documentation/admin-guide/kernel-parameters.txt | 8 ++++++++
 kernel/watchdog.c                               | 7 +++++++
 2 files changed, 15 insertions(+)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index b90fe3b6bc6c..4263937f4aa9 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -4957,6 +4957,14 @@
 			or other driver-specific files in the
 			Documentation/watchdog/ directory.
 
+        watchdog_thresh=
+                        [KNL]
+                        Set the hard lockup detector stall duration
+                        threshold in seconds. The soft lockup detector
+                        threshold is set to twice the value. A value of 0
+                        disables both lockup detectors. Default is 10
+                        seconds.
+
 	workqueue.watchdog_thresh=
 			If CONFIG_WQ_WATCHDOG is configured, workqueue can
 			warn stall conditions and dump internal state to
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index 977918d5d350..8fbfda94a67b 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -199,6 +199,13 @@ static int __init nosoftlockup_setup(char *str)
 }
 __setup("nosoftlockup", nosoftlockup_setup);
 
+static int __init watchdog_thresh_setup(char *str)
+{
+	get_option(&str, &watchdog_thresh);
+	return 1;
+}
+__setup("watchdog_thresh=", watchdog_thresh_setup);
+
 #ifdef CONFIG_SMP
 int __read_mostly sysctl_softlockup_all_cpu_backtrace;
 
-- 
2.18.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] [PATCH V7] watchdog/core: Add watchdog_thresh command line parameter
  2018-10-30 14:50 [PATCH] [PATCH V7] watchdog/core: Add watchdog_thresh command line parameter Laurence Oberman
@ 2018-11-01 11:55 ` Thomas Gleixner
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Gleixner @ 2018-11-01 11:55 UTC (permalink / raw)
  To: Laurence Oberman; +Cc: linux-kernel, rdunlap, prarit

Laurence,

On Tue, 30 Oct 2018, Laurence Oberman wrote:

This looks much better.

But please send your patches first to yourself. Your subject ended up with
'[PATCH] [PATCH V7]' instead of just '[PATCH V7]'

> 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

kernel command line please. kernel line does not mean anything,

> early boot.
> This patch allows the setting of watchdog_thresh to be increased

Again:

 git grep 'This patch' Documentation/process/

This leads you to:

 "Describe your changes in imperative mood, e.g. "make xyzzy do frotz"
  instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy
  to do frotz", as if you are giving orders to the codebase to change
  its behaviour."

Documentation is there for a reason.

> 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 extend the hard lockup timer in the console code.
> Note that this also affects the soft lockup detector

Just for nitpickings sake. The change log is slightly confusing. Let me
give you a suggestion:

  The hard and soft lockup detector threshold has a default value of 10
  seconds which can only be changed via sysctl.

  During early boot lockup detection can trigger when noisy debugging emits
  a large amount of messages to the console, but there is no way to set a
  larger threshold on the kernel command line. The detector can only be
  completely disabled.

  Add a new watchdog_thresh= command line parameter to allow boot time
  control over the threshold. It works in the same way as the sysctl and
  affects both the soft and the hard lockup detectors.

Hmm?

> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -4957,6 +4957,14 @@
>  			or other driver-specific files in the
>  			Documentation/watchdog/ directory.
>  
> +        watchdog_thresh=

Please use tabs instead of spaces

> +                        [KNL]
> +                        Set the hard lockup detector stall duration
> +                        threshold in seconds. The soft lockup detector
> +                        threshold is set to twice the value. A value of 0
> +                        disables both lockup detectors. Default is 10
> +                        seconds.

Same here.

Thanks,

	tglx


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-11-01 11:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-30 14:50 [PATCH] [PATCH V7] watchdog/core: Add watchdog_thresh command line parameter Laurence Oberman
2018-11-01 11:55 ` Thomas Gleixner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).