diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-08-05 02:45:05 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-08-05 02:45:05 -0400 |
commit | 61be7fdec2f51b99570cd5dcc30c7848c8e56513 (patch) | |
tree | 4a73ee635bc3e35dc54f75caddd26ffb6238bb5c /lib | |
parent | 12a81c8df13c60904febcafcf6b90ca1acb67122 (diff) | |
parent | eb703f98191a505f78d0066712ad67d5dedc4c90 (diff) |
Merge branch 'perf/nmi' into perf/core
Conflicts:
kernel/Makefile
Merge reason: Add the now complete topic, fix the conflict.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Kconfig.debug | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index e722e9d62221..e2cd7fbf31c0 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -152,28 +152,33 @@ config DEBUG_SHIRQ | |||
152 | Drivers ought to be able to handle interrupts coming in at those | 152 | Drivers ought to be able to handle interrupts coming in at those |
153 | points; some don't and need to be caught. | 153 | points; some don't and need to be caught. |
154 | 154 | ||
155 | config DETECT_SOFTLOCKUP | 155 | config LOCKUP_DETECTOR |
156 | bool "Detect Soft Lockups" | 156 | bool "Detect Hard and Soft Lockups" |
157 | depends on DEBUG_KERNEL && !S390 | 157 | depends on DEBUG_KERNEL && !S390 |
158 | default y | ||
159 | help | 158 | help |
160 | Say Y here to enable the kernel to detect "soft lockups", | 159 | Say Y here to enable the kernel to act as a watchdog to detect |
161 | which are bugs that cause the kernel to loop in kernel | 160 | hard and soft lockups. |
161 | |||
162 | Softlockups are bugs that cause the kernel to loop in kernel | ||
162 | mode for more than 60 seconds, without giving other tasks a | 163 | mode for more than 60 seconds, without giving other tasks a |
163 | chance to run. | 164 | chance to run. The current stack trace is displayed upon |
165 | detection and the system will stay locked up. | ||
164 | 166 | ||
165 | When a soft-lockup is detected, the kernel will print the | 167 | Hardlockups are bugs that cause the CPU to loop in kernel mode |
166 | current stack trace (which you should report), but the | 168 | for more than 60 seconds, without letting other interrupts have a |
167 | system will stay locked up. This feature has negligible | 169 | chance to run. The current stack trace is displayed upon detection |
168 | overhead. | 170 | and the system will stay locked up. |
171 | |||
172 | The overhead should be minimal. A periodic hrtimer runs to | ||
173 | generate interrupts and kick the watchdog task every 10-12 seconds. | ||
174 | An NMI is generated every 60 seconds or so to check for hardlockups. | ||
169 | 175 | ||
170 | (Note that "hard lockups" are separate type of bugs that | 176 | config HARDLOCKUP_DETECTOR |
171 | can be detected via the NMI-watchdog, on platforms that | 177 | def_bool LOCKUP_DETECTOR && PERF_EVENTS && HAVE_PERF_EVENTS_NMI |
172 | support it.) | ||
173 | 178 | ||
174 | config BOOTPARAM_SOFTLOCKUP_PANIC | 179 | config BOOTPARAM_SOFTLOCKUP_PANIC |
175 | bool "Panic (Reboot) On Soft Lockups" | 180 | bool "Panic (Reboot) On Soft Lockups" |
176 | depends on DETECT_SOFTLOCKUP | 181 | depends on LOCKUP_DETECTOR |
177 | help | 182 | help |
178 | Say Y here to enable the kernel to panic on "soft lockups", | 183 | Say Y here to enable the kernel to panic on "soft lockups", |
179 | which are bugs that cause the kernel to loop in kernel | 184 | which are bugs that cause the kernel to loop in kernel |
@@ -190,7 +195,7 @@ config BOOTPARAM_SOFTLOCKUP_PANIC | |||
190 | 195 | ||
191 | config BOOTPARAM_SOFTLOCKUP_PANIC_VALUE | 196 | config BOOTPARAM_SOFTLOCKUP_PANIC_VALUE |
192 | int | 197 | int |
193 | depends on DETECT_SOFTLOCKUP | 198 | depends on LOCKUP_DETECTOR |
194 | range 0 1 | 199 | range 0 1 |
195 | default 0 if !BOOTPARAM_SOFTLOCKUP_PANIC | 200 | default 0 if !BOOTPARAM_SOFTLOCKUP_PANIC |
196 | default 1 if BOOTPARAM_SOFTLOCKUP_PANIC | 201 | default 1 if BOOTPARAM_SOFTLOCKUP_PANIC |