aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Kconfig.debug
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Kconfig.debug')
-rw-r--r--lib/Kconfig.debug63
1 files changed, 43 insertions, 20 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index e722e9d62221..79e0dff1cdcb 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -76,7 +76,6 @@ config UNUSED_SYMBOLS
76 76
77config DEBUG_FS 77config DEBUG_FS
78 bool "Debug Filesystem" 78 bool "Debug Filesystem"
79 depends on SYSFS
80 help 79 help
81 debugfs is a virtual file system that kernel developers use to put 80 debugfs is a virtual file system that kernel developers use to put
82 debugging files into. Enable this option to be able to read and 81 debugging files into. Enable this option to be able to read and
@@ -152,28 +151,33 @@ config DEBUG_SHIRQ
152 Drivers ought to be able to handle interrupts coming in at those 151 Drivers ought to be able to handle interrupts coming in at those
153 points; some don't and need to be caught. 152 points; some don't and need to be caught.
154 153
155config DETECT_SOFTLOCKUP 154config LOCKUP_DETECTOR
156 bool "Detect Soft Lockups" 155 bool "Detect Hard and Soft Lockups"
157 depends on DEBUG_KERNEL && !S390 156 depends on DEBUG_KERNEL && !S390
158 default y
159 help 157 help
160 Say Y here to enable the kernel to detect "soft lockups", 158 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 159 hard and soft lockups.
160
161 Softlockups are bugs that cause the kernel to loop in kernel
162 mode for more than 60 seconds, without giving other tasks a 162 mode for more than 60 seconds, without giving other tasks a
163 chance to run. 163 chance to run. The current stack trace is displayed upon
164 detection and the system will stay locked up.
164 165
165 When a soft-lockup is detected, the kernel will print the 166 Hardlockups are bugs that cause the CPU to loop in kernel mode
166 current stack trace (which you should report), but the 167 for more than 60 seconds, without letting other interrupts have a
167 system will stay locked up. This feature has negligible 168 chance to run. The current stack trace is displayed upon detection
168 overhead. 169 and the system will stay locked up.
169 170
170 (Note that "hard lockups" are separate type of bugs that 171 The overhead should be minimal. A periodic hrtimer runs to
171 can be detected via the NMI-watchdog, on platforms that 172 generate interrupts and kick the watchdog task every 10-12 seconds.
172 support it.) 173 An NMI is generated every 60 seconds or so to check for hardlockups.
174
175config HARDLOCKUP_DETECTOR
176 def_bool LOCKUP_DETECTOR && PERF_EVENTS && HAVE_PERF_EVENTS_NMI
173 177
174config BOOTPARAM_SOFTLOCKUP_PANIC 178config BOOTPARAM_SOFTLOCKUP_PANIC
175 bool "Panic (Reboot) On Soft Lockups" 179 bool "Panic (Reboot) On Soft Lockups"
176 depends on DETECT_SOFTLOCKUP 180 depends on LOCKUP_DETECTOR
177 help 181 help
178 Say Y here to enable the kernel to panic on "soft lockups", 182 Say Y here to enable the kernel to panic on "soft lockups",
179 which are bugs that cause the kernel to loop in kernel 183 which are bugs that cause the kernel to loop in kernel
@@ -190,7 +194,7 @@ config BOOTPARAM_SOFTLOCKUP_PANIC
190 194
191config BOOTPARAM_SOFTLOCKUP_PANIC_VALUE 195config BOOTPARAM_SOFTLOCKUP_PANIC_VALUE
192 int 196 int
193 depends on DETECT_SOFTLOCKUP 197 depends on LOCKUP_DETECTOR
194 range 0 1 198 range 0 1
195 default 0 if !BOOTPARAM_SOFTLOCKUP_PANIC 199 default 0 if !BOOTPARAM_SOFTLOCKUP_PANIC
196 default 1 if BOOTPARAM_SOFTLOCKUP_PANIC 200 default 1 if BOOTPARAM_SOFTLOCKUP_PANIC
@@ -307,6 +311,12 @@ config DEBUG_OBJECTS_WORK
307 work queue routines to track the life time of work objects and 311 work queue routines to track the life time of work objects and
308 validate the work operations. 312 validate the work operations.
309 313
314config DEBUG_OBJECTS_RCU_HEAD
315 bool "Debug RCU callbacks objects"
316 depends on DEBUG_OBJECTS && PREEMPT
317 help
318 Enable this to turn on debugging of RCU list heads (call_rcu() usage).
319
310config DEBUG_OBJECTS_ENABLE_DEFAULT 320config DEBUG_OBJECTS_ENABLE_DEFAULT
311 int "debug_objects bootup default value (0-1)" 321 int "debug_objects bootup default value (0-1)"
312 range 0 1 322 range 0 1
@@ -528,7 +538,7 @@ config LOCKDEP
528 bool 538 bool
529 depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT 539 depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
530 select STACKTRACE 540 select STACKTRACE
531 select FRAME_POINTER if !MIPS && !PPC && !ARM_UNWIND && !S390 541 select FRAME_POINTER if !MIPS && !PPC && !ARM_UNWIND && !S390 && !MICROBLAZE
532 select KALLSYMS 542 select KALLSYMS
533 select KALLSYMS_ALL 543 select KALLSYMS_ALL
534 544
@@ -628,6 +638,19 @@ config DEBUG_INFO
628 638
629 If unsure, say N. 639 If unsure, say N.
630 640
641config DEBUG_INFO_REDUCED
642 bool "Reduce debugging information"
643 depends on DEBUG_INFO
644 help
645 If you say Y here gcc is instructed to generate less debugging
646 information for structure types. This means that tools that
647 need full debugging information (like kgdb or systemtap) won't
648 be happy. But if you merely need debugging information to
649 resolve line numbers there is no loss. Advantage is that
650 build directory object sizes shrink dramatically over a full
651 DEBUG_INFO build and compile times are reduced too.
652 Only works with newer gcc versions.
653
631config DEBUG_VM 654config DEBUG_VM
632 bool "Debug VM" 655 bool "Debug VM"
633 depends on DEBUG_KERNEL 656 depends on DEBUG_KERNEL
@@ -937,7 +960,7 @@ config FAIL_MAKE_REQUEST
937 Provide fault-injection capability for disk IO. 960 Provide fault-injection capability for disk IO.
938 961
939config FAIL_IO_TIMEOUT 962config FAIL_IO_TIMEOUT
940 bool "Faul-injection capability for faking disk interrupts" 963 bool "Fault-injection capability for faking disk interrupts"
941 depends on FAULT_INJECTION && BLOCK 964 depends on FAULT_INJECTION && BLOCK
942 help 965 help
943 Provide fault-injection capability on end IO handling. This 966 Provide fault-injection capability on end IO handling. This
@@ -958,13 +981,13 @@ config FAULT_INJECTION_STACKTRACE_FILTER
958 depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT 981 depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT
959 depends on !X86_64 982 depends on !X86_64
960 select STACKTRACE 983 select STACKTRACE
961 select FRAME_POINTER if !PPC && !S390 984 select FRAME_POINTER if !PPC && !S390 && !MICROBLAZE
962 help 985 help
963 Provide stacktrace filter for fault-injection capabilities 986 Provide stacktrace filter for fault-injection capabilities
964 987
965config LATENCYTOP 988config LATENCYTOP
966 bool "Latency measuring infrastructure" 989 bool "Latency measuring infrastructure"
967 select FRAME_POINTER if !MIPS && !PPC && !S390 990 select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE
968 select KALLSYMS 991 select KALLSYMS
969 select KALLSYMS_ALL 992 select KALLSYMS_ALL
970 select STACKTRACE 993 select STACKTRACE