aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Kconfig.debug
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Kconfig.debug')
-rw-r--r--lib/Kconfig.debug70
1 files changed, 50 insertions, 20 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index e722e9d62221..9e06b7f5ecf1 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.
170
171 The overhead should be minimal. A periodic hrtimer runs to
172 generate interrupts and kick the watchdog task every 10-12 seconds.
173 An NMI is generated every 60 seconds or so to check for hardlockups.
169 174
170 (Note that "hard lockups" are separate type of bugs that 175config HARDLOCKUP_DETECTOR
171 can be detected via the NMI-watchdog, on platforms that 176 def_bool LOCKUP_DETECTOR && PERF_EVENTS && HAVE_PERF_EVENTS_NMI
172 support it.)
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
@@ -400,6 +410,13 @@ config DEBUG_KMEMLEAK_TEST
400 410
401 If unsure, say N. 411 If unsure, say N.
402 412
413config DEBUG_KMEMLEAK_DEFAULT_OFF
414 bool "Default kmemleak to off"
415 depends on DEBUG_KMEMLEAK
416 help
417 Say Y here to disable kmemleak by default. It can then be enabled
418 on the command line via kmemleak=on.
419
403config DEBUG_PREEMPT 420config DEBUG_PREEMPT
404 bool "Debug preemptible kernel" 421 bool "Debug preemptible kernel"
405 depends on DEBUG_KERNEL && PREEMPT && TRACE_IRQFLAGS_SUPPORT 422 depends on DEBUG_KERNEL && PREEMPT && TRACE_IRQFLAGS_SUPPORT
@@ -528,7 +545,7 @@ config LOCKDEP
528 bool 545 bool
529 depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT 546 depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
530 select STACKTRACE 547 select STACKTRACE
531 select FRAME_POINTER if !MIPS && !PPC && !ARM_UNWIND && !S390 548 select FRAME_POINTER if !MIPS && !PPC && !ARM_UNWIND && !S390 && !MICROBLAZE
532 select KALLSYMS 549 select KALLSYMS
533 select KALLSYMS_ALL 550 select KALLSYMS_ALL
534 551
@@ -628,6 +645,19 @@ config DEBUG_INFO
628 645
629 If unsure, say N. 646 If unsure, say N.
630 647
648config DEBUG_INFO_REDUCED
649 bool "Reduce debugging information"
650 depends on DEBUG_INFO
651 help
652 If you say Y here gcc is instructed to generate less debugging
653 information for structure types. This means that tools that
654 need full debugging information (like kgdb or systemtap) won't
655 be happy. But if you merely need debugging information to
656 resolve line numbers there is no loss. Advantage is that
657 build directory object sizes shrink dramatically over a full
658 DEBUG_INFO build and compile times are reduced too.
659 Only works with newer gcc versions.
660
631config DEBUG_VM 661config DEBUG_VM
632 bool "Debug VM" 662 bool "Debug VM"
633 depends on DEBUG_KERNEL 663 depends on DEBUG_KERNEL
@@ -937,7 +967,7 @@ config FAIL_MAKE_REQUEST
937 Provide fault-injection capability for disk IO. 967 Provide fault-injection capability for disk IO.
938 968
939config FAIL_IO_TIMEOUT 969config FAIL_IO_TIMEOUT
940 bool "Faul-injection capability for faking disk interrupts" 970 bool "Fault-injection capability for faking disk interrupts"
941 depends on FAULT_INJECTION && BLOCK 971 depends on FAULT_INJECTION && BLOCK
942 help 972 help
943 Provide fault-injection capability on end IO handling. This 973 Provide fault-injection capability on end IO handling. This
@@ -958,13 +988,13 @@ config FAULT_INJECTION_STACKTRACE_FILTER
958 depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT 988 depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT
959 depends on !X86_64 989 depends on !X86_64
960 select STACKTRACE 990 select STACKTRACE
961 select FRAME_POINTER if !PPC && !S390 991 select FRAME_POINTER if !PPC && !S390 && !MICROBLAZE
962 help 992 help
963 Provide stacktrace filter for fault-injection capabilities 993 Provide stacktrace filter for fault-injection capabilities
964 994
965config LATENCYTOP 995config LATENCYTOP
966 bool "Latency measuring infrastructure" 996 bool "Latency measuring infrastructure"
967 select FRAME_POINTER if !MIPS && !PPC && !S390 997 select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE
968 select KALLSYMS 998 select KALLSYMS
969 select KALLSYMS_ALL 999 select KALLSYMS_ALL
970 select STACKTRACE 1000 select STACKTRACE