diff options
Diffstat (limited to 'lib/Kconfig.debug')
-rw-r--r-- | lib/Kconfig.debug | 70 |
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 | ||
77 | config DEBUG_FS | 77 | config 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 | ||
155 | config DETECT_SOFTLOCKUP | 154 | config 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 | 175 | config 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 | ||
174 | config BOOTPARAM_SOFTLOCKUP_PANIC | 178 | config 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 | ||
191 | config BOOTPARAM_SOFTLOCKUP_PANIC_VALUE | 195 | config 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 | ||
314 | config 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 | |||
310 | config DEBUG_OBJECTS_ENABLE_DEFAULT | 320 | config 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 | ||
413 | config 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 | |||
403 | config DEBUG_PREEMPT | 420 | config 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 | ||
648 | config 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 | |||
631 | config DEBUG_VM | 661 | config 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 | ||
939 | config FAIL_IO_TIMEOUT | 969 | config 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 | ||
965 | config LATENCYTOP | 995 | config 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 |