diff options
author | Ingo Molnar <mingo@elte.hu> | 2005-09-06 18:16:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-07 19:57:17 -0400 |
commit | 8446f1d391f3d27e6bf9c43d4cbcdac0ca720417 (patch) | |
tree | 738853af877c9a391b4f2db467e7f90c6e2e38ed /lib/Kconfig.debug | |
parent | 4732efbeb997189d9f9b04708dc26bf8613ed721 (diff) |
[PATCH] detect soft lockups
This patch adds a new kernel debug feature: CONFIG_DETECT_SOFTLOCKUP.
When enabled then per-CPU watchdog threads are started, which try to run
once per second. If they get delayed for more than 10 seconds then a
callback from the timer interrupt detects this condition and prints out a
warning message and a stack dump (once per lockup incident). The feature
is otherwise non-intrusive, it doesnt try to unlock the box in any way, it
only gets the debug info out, automatically, and on all CPUs affected by
the lockup.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'lib/Kconfig.debug')
-rw-r--r-- | lib/Kconfig.debug | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 299f7f3b5b08..3754c9a8f5c8 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -46,6 +46,25 @@ config LOG_BUF_SHIFT | |||
46 | 13 => 8 KB | 46 | 13 => 8 KB |
47 | 12 => 4 KB | 47 | 12 => 4 KB |
48 | 48 | ||
49 | config DETECT_SOFTLOCKUP | ||
50 | bool "Detect Soft Lockups" | ||
51 | depends on DEBUG_KERNEL | ||
52 | default y | ||
53 | help | ||
54 | Say Y here to enable the kernel to detect "soft lockups", | ||
55 | which are bugs that cause the kernel to loop in kernel | ||
56 | mode for more than 10 seconds, without giving other tasks a | ||
57 | chance to run. | ||
58 | |||
59 | When a soft-lockup is detected, the kernel will print the | ||
60 | current stack trace (which you should report), but the | ||
61 | system will stay locked up. This feature has negligible | ||
62 | overhead. | ||
63 | |||
64 | (Note that "hard lockups" are separate type of bugs that | ||
65 | can be detected via the NMI-watchdog, on platforms that | ||
66 | support it.) | ||
67 | |||
49 | config SCHEDSTATS | 68 | config SCHEDSTATS |
50 | bool "Collect scheduler statistics" | 69 | bool "Collect scheduler statistics" |
51 | depends on DEBUG_KERNEL && PROC_FS | 70 | depends on DEBUG_KERNEL && PROC_FS |