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 <lober...@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

Reply via email to