[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1540911004-11539-1-git-send-email-loberman@redhat.com>
Date: Tue, 30 Oct 2018 10:50:04 -0400
From: Laurence Oberman <loberman@...hat.com>
To: tglx@...utronix.de
Cc: linux-kernel@...r.kernel.org, rdunlap@...radead.org,
prarit@...hat.com, Laurence Oberman <loberman@...hat.com>
Subject: [PATCH] [PATCH V7] watchdog/core: Add watchdog_thresh command line parameter
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@...hat.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
Powered by blists - more mailing lists