diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-06 12:30:52 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-06 12:30:52 -0400 |
commit | 4aed2fd8e3181fea7c09ba79cf64e7e3f4413bf9 (patch) | |
tree | 1f69733e5daab4915a76a41de0e4d1dc61e12cfb /lib/Kconfig.debug | |
parent | 3a3527b6461b1298cc53ce72f336346739297ac8 (diff) | |
parent | fc9ea5a1e53ee54f681e226d735008e2a6f8f470 (diff) |
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (162 commits)
tracing/kprobes: unregister_trace_probe needs to be called under mutex
perf: expose event__process function
perf events: Fix mmap offset determination
perf, powerpc: fsl_emb: Restore setting perf_sample_data.period
perf, powerpc: Convert the FSL driver to use local64_t
perf tools: Don't keep unreferenced maps when unmaps are detected
perf session: Invalidate last_match when removing threads from rb_tree
perf session: Free the ref_reloc_sym memory at the right place
x86,mmiotrace: Add support for tracing STOS instruction
perf, sched migration: Librarize task states and event headers helpers
perf, sched migration: Librarize the GUI class
perf, sched migration: Make the GUI class client agnostic
perf, sched migration: Make it vertically scrollable
perf, sched migration: Parameterize cpu height and spacing
perf, sched migration: Fix key bindings
perf, sched migration: Ignore unhandled task states
perf, sched migration: Handle ignored migrate out events
perf: New migration tool overview
tracing: Drop cpparg() macro
perf: Use tracepoint_synchronize_unregister() to flush any pending tracepoint call
...
Fix up trivial conflicts in Makefile and drivers/cpufreq/cpufreq.c
Diffstat (limited to 'lib/Kconfig.debug')
-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 e80d6bf1c43d..ff87ddc4cbd5 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 |