aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Mahoney <jeffm@suse.com>2011-04-27 14:27:24 -0400
committerIngo Molnar <mingo@elte.hu>2011-04-28 03:13:17 -0400
commite11feaa1192a079ba8e88a12121e9b12d55d4239 (patch)
tree41d7c546af7663132a12951f4ba9392942cde5db
parente0944ee63f7249802be74454cef81c97630ae1cd (diff)
watchdog, hung_task_timeout: Add Kconfig configurable default
This patch allows the default value for sysctl_hung_task_timeout_secs to be set at build time. The feature carries virtually no overhead, so it makes sense to keep it enabled. On heavily loaded systems, though, it can end up triggering stack traces when there is no bug other than the system being underprovisioned. We use this patch to keep the hung task facility available but disabled at boot-time. The default of 120 seconds is preserved. As a note, commit e162b39a may have accidentally reverted commit fb822db4, which raised the default from 120 seconds to 480 seconds. Signed-off-by: Jeff Mahoney <jeffm@suse.com> Acked-by: Mandeep Singh Baines <msb@google.com> Link: http://lkml.kernel.org/r/4DB8600C.8080000@suse.com Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--kernel/hung_task.c2
-rw-r--r--lib/Kconfig.debug15
2 files changed, 16 insertions, 1 deletions
diff --git a/kernel/hung_task.c b/kernel/hung_task.c
index 53ead174da2f..ea640120ab86 100644
--- a/kernel/hung_task.c
+++ b/kernel/hung_task.c
@@ -33,7 +33,7 @@ unsigned long __read_mostly sysctl_hung_task_check_count = PID_MAX_LIMIT;
33/* 33/*
34 * Zero means infinite timeout - no checking done: 34 * Zero means infinite timeout - no checking done:
35 */ 35 */
36unsigned long __read_mostly sysctl_hung_task_timeout_secs = 120; 36unsigned long __read_mostly sysctl_hung_task_timeout_secs = CONFIG_DEFAULT_HUNG_TASK_TIMEOUT;
37 37
38unsigned long __read_mostly sysctl_hung_task_warnings = 10; 38unsigned long __read_mostly sysctl_hung_task_warnings = 10;
39 39
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index c768bcdda1b7..debbb0580bf0 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -238,6 +238,21 @@ config DETECT_HUNG_TASK
238 enabled then all held locks will also be reported. This 238 enabled then all held locks will also be reported. This
239 feature has negligible overhead. 239 feature has negligible overhead.
240 240
241config DEFAULT_HUNG_TASK_TIMEOUT
242 int "Default timeout for hung task detection (in seconds)"
243 depends on DETECT_HUNG_TASK
244 default 120
245 help
246 This option controls the default timeout (in seconds) used
247 to determine when a task has become non-responsive and should
248 be considered hung.
249
250 It can be adjusted at runtime via the kernel.hung_task_timeout
251 sysctl or by writing a value to /proc/sys/kernel/hung_task_timeout.
252
253 A timeout of 0 disables the check. The default is two minutes.
254 Keeping the default should be fine in most cases.
255
241config BOOTPARAM_HUNG_TASK_PANIC 256config BOOTPARAM_HUNG_TASK_PANIC
242 bool "Panic (Reboot) On Hung Tasks" 257 bool "Panic (Reboot) On Hung Tasks"
243 depends on DETECT_HUNG_TASK 258 depends on DETECT_HUNG_TASK