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 |
