diff options
Diffstat (limited to 'lib/Kconfig.debug')
-rw-r--r-- | lib/Kconfig.debug | 73 |
1 files changed, 53 insertions, 20 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index dfdc0347b05d..1b4afd2e6ca0 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. |
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 | |||
175 | config HARDLOCKUP_DETECTOR | ||
176 | def_bool LOCKUP_DETECTOR && PERF_EVENTS && HAVE_PERF_EVENTS_NMI | ||
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 |
@@ -958,19 +988,22 @@ 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 | depends on HAVE_LATENCYTOP_SUPPORT |
998 | depends on DEBUG_KERNEL | ||
999 | depends on STACKTRACE_SUPPORT | ||
1000 | depends on PROC_FS | ||
1001 | select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE | ||
968 | select KALLSYMS | 1002 | select KALLSYMS |
969 | select KALLSYMS_ALL | 1003 | select KALLSYMS_ALL |
970 | select STACKTRACE | 1004 | select STACKTRACE |
971 | select SCHEDSTATS | 1005 | select SCHEDSTATS |
972 | select SCHED_DEBUG | 1006 | select SCHED_DEBUG |
973 | depends on HAVE_LATENCYTOP_SUPPORT | ||
974 | help | 1007 | help |
975 | Enable this option if you want to use the LatencyTOP tool | 1008 | Enable this option if you want to use the LatencyTOP tool |
976 | to find out which userspace is blocking on what kernel operations. | 1009 | to find out which userspace is blocking on what kernel operations. |