diff options
Diffstat (limited to 'lib/Kconfig.debug')
-rw-r--r-- | lib/Kconfig.debug | 181 |
1 files changed, 176 insertions, 5 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index df27132a56f4..b0f239e443bc 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -74,6 +74,9 @@ config DEBUG_FS | |||
74 | debugging files into. Enable this option to be able to read and | 74 | debugging files into. Enable this option to be able to read and |
75 | write to these files. | 75 | write to these files. |
76 | 76 | ||
77 | For detailed documentation on the debugfs API, see | ||
78 | Documentation/DocBook/filesystems. | ||
79 | |||
77 | If unsure, say N. | 80 | If unsure, say N. |
78 | 81 | ||
79 | config HEADERS_CHECK | 82 | config HEADERS_CHECK |
@@ -147,7 +150,7 @@ config DETECT_SOFTLOCKUP | |||
147 | help | 150 | help |
148 | Say Y here to enable the kernel to detect "soft lockups", | 151 | Say Y here to enable the kernel to detect "soft lockups", |
149 | which are bugs that cause the kernel to loop in kernel | 152 | which are bugs that cause the kernel to loop in kernel |
150 | mode for more than 10 seconds, without giving other tasks a | 153 | mode for more than 60 seconds, without giving other tasks a |
151 | chance to run. | 154 | chance to run. |
152 | 155 | ||
153 | When a soft-lockup is detected, the kernel will print the | 156 | When a soft-lockup is detected, the kernel will print the |
@@ -159,6 +162,30 @@ config DETECT_SOFTLOCKUP | |||
159 | can be detected via the NMI-watchdog, on platforms that | 162 | can be detected via the NMI-watchdog, on platforms that |
160 | support it.) | 163 | support it.) |
161 | 164 | ||
165 | config BOOTPARAM_SOFTLOCKUP_PANIC | ||
166 | bool "Panic (Reboot) On Soft Lockups" | ||
167 | depends on DETECT_SOFTLOCKUP | ||
168 | help | ||
169 | Say Y here to enable the kernel to panic on "soft lockups", | ||
170 | which are bugs that cause the kernel to loop in kernel | ||
171 | mode for more than 60 seconds, without giving other tasks a | ||
172 | chance to run. | ||
173 | |||
174 | The panic can be used in combination with panic_timeout, | ||
175 | to cause the system to reboot automatically after a | ||
176 | lockup has been detected. This feature is useful for | ||
177 | high-availability systems that have uptime guarantees and | ||
178 | where a lockup must be resolved ASAP. | ||
179 | |||
180 | Say N if unsure. | ||
181 | |||
182 | config BOOTPARAM_SOFTLOCKUP_PANIC_VALUE | ||
183 | int | ||
184 | depends on DETECT_SOFTLOCKUP | ||
185 | range 0 1 | ||
186 | default 0 if !BOOTPARAM_SOFTLOCKUP_PANIC | ||
187 | default 1 if BOOTPARAM_SOFTLOCKUP_PANIC | ||
188 | |||
162 | config SCHED_DEBUG | 189 | config SCHED_DEBUG |
163 | bool "Collect scheduler debugging info" | 190 | bool "Collect scheduler debugging info" |
164 | depends on DEBUG_KERNEL && PROC_FS | 191 | depends on DEBUG_KERNEL && PROC_FS |
@@ -367,7 +394,7 @@ config LOCKDEP | |||
367 | bool | 394 | bool |
368 | depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT | 395 | depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT |
369 | select STACKTRACE | 396 | select STACKTRACE |
370 | select FRAME_POINTER if !X86 && !MIPS | 397 | select FRAME_POINTER if !X86 && !MIPS && !PPC |
371 | select KALLSYMS | 398 | select KALLSYMS |
372 | select KALLSYMS_ALL | 399 | select KALLSYMS_ALL |
373 | 400 | ||
@@ -468,6 +495,15 @@ config DEBUG_VM | |||
468 | 495 | ||
469 | If unsure, say N. | 496 | If unsure, say N. |
470 | 497 | ||
498 | config DEBUG_VIRTUAL | ||
499 | bool "Debug VM translations" | ||
500 | depends on DEBUG_KERNEL && X86 | ||
501 | help | ||
502 | Enable some costly sanity checks in virtual to page code. This can | ||
503 | catch mistakes with virt_to_page() and friends. | ||
504 | |||
505 | If unsure, say N. | ||
506 | |||
471 | config DEBUG_WRITECOUNT | 507 | config DEBUG_WRITECOUNT |
472 | bool "Debug filesystem writers count" | 508 | bool "Debug filesystem writers count" |
473 | depends on DEBUG_KERNEL | 509 | depends on DEBUG_KERNEL |
@@ -478,6 +514,18 @@ config DEBUG_WRITECOUNT | |||
478 | 514 | ||
479 | If unsure, say N. | 515 | If unsure, say N. |
480 | 516 | ||
517 | config DEBUG_MEMORY_INIT | ||
518 | bool "Debug memory initialisation" if EMBEDDED | ||
519 | default !EMBEDDED | ||
520 | help | ||
521 | Enable this for additional checks during memory initialisation. | ||
522 | The sanity checks verify aspects of the VM such as the memory model | ||
523 | and other information provided by the architecture. Verbose | ||
524 | information will be printed at KERN_DEBUG loglevel depending | ||
525 | on the mminit_loglevel= command-line option. | ||
526 | |||
527 | If unsure, say Y | ||
528 | |||
481 | config DEBUG_LIST | 529 | config DEBUG_LIST |
482 | bool "Debug linked list manipulation" | 530 | bool "Debug linked list manipulation" |
483 | depends on DEBUG_KERNEL | 531 | depends on DEBUG_KERNEL |
@@ -558,6 +606,19 @@ config RCU_TORTURE_TEST_RUNNABLE | |||
558 | Say N here if you want the RCU torture tests to start only | 606 | Say N here if you want the RCU torture tests to start only |
559 | after being manually enabled via /proc. | 607 | after being manually enabled via /proc. |
560 | 608 | ||
609 | config RCU_CPU_STALL_DETECTOR | ||
610 | bool "Check for stalled CPUs delaying RCU grace periods" | ||
611 | depends on CLASSIC_RCU | ||
612 | default n | ||
613 | help | ||
614 | This option causes RCU to printk information on which | ||
615 | CPUs are delaying the current grace period, but only when | ||
616 | the grace period extends for excessive time periods. | ||
617 | |||
618 | Say Y if you want RCU to perform such checks. | ||
619 | |||
620 | Say N if you are unsure. | ||
621 | |||
561 | config KPROBES_SANITY_TEST | 622 | config KPROBES_SANITY_TEST |
562 | bool "Kprobes sanity tests" | 623 | bool "Kprobes sanity tests" |
563 | depends on DEBUG_KERNEL | 624 | depends on DEBUG_KERNEL |
@@ -585,6 +646,33 @@ config BACKTRACE_SELF_TEST | |||
585 | 646 | ||
586 | Say N if you are unsure. | 647 | Say N if you are unsure. |
587 | 648 | ||
649 | config DEBUG_BLOCK_EXT_DEVT | ||
650 | bool "Force extended block device numbers and spread them" | ||
651 | depends on DEBUG_KERNEL | ||
652 | depends on BLOCK | ||
653 | default n | ||
654 | help | ||
655 | BIG FAT WARNING: ENABLING THIS OPTION MIGHT BREAK BOOTING ON | ||
656 | SOME DISTRIBUTIONS. DO NOT ENABLE THIS UNLESS YOU KNOW WHAT | ||
657 | YOU ARE DOING. Distros, please enable this and fix whatever | ||
658 | is broken. | ||
659 | |||
660 | Conventionally, block device numbers are allocated from | ||
661 | predetermined contiguous area. However, extended block area | ||
662 | may introduce non-contiguous block device numbers. This | ||
663 | option forces most block device numbers to be allocated from | ||
664 | the extended space and spreads them to discover kernel or | ||
665 | userland code paths which assume predetermined contiguous | ||
666 | device number allocation. | ||
667 | |||
668 | Note that turning on this debug option shuffles all the | ||
669 | device numbers for all IDE and SCSI devices including libata | ||
670 | ones, so root partition specified using device number | ||
671 | directly (via rdev or root=MAJ:MIN) won't work anymore. | ||
672 | Textual device names (root=/dev/sdXn) will continue to work. | ||
673 | |||
674 | Say N if you are unsure. | ||
675 | |||
588 | config LKDTM | 676 | config LKDTM |
589 | tristate "Linux Kernel Dump Test Tool Module" | 677 | tristate "Linux Kernel Dump Test Tool Module" |
590 | depends on DEBUG_KERNEL | 678 | depends on DEBUG_KERNEL |
@@ -622,10 +710,21 @@ config FAIL_PAGE_ALLOC | |||
622 | 710 | ||
623 | config FAIL_MAKE_REQUEST | 711 | config FAIL_MAKE_REQUEST |
624 | bool "Fault-injection capability for disk IO" | 712 | bool "Fault-injection capability for disk IO" |
625 | depends on FAULT_INJECTION | 713 | depends on FAULT_INJECTION && BLOCK |
626 | help | 714 | help |
627 | Provide fault-injection capability for disk IO. | 715 | Provide fault-injection capability for disk IO. |
628 | 716 | ||
717 | config FAIL_IO_TIMEOUT | ||
718 | bool "Faul-injection capability for faking disk interrupts" | ||
719 | depends on FAULT_INJECTION && BLOCK | ||
720 | help | ||
721 | Provide fault-injection capability on end IO handling. This | ||
722 | will make the block layer "forget" an interrupt as configured, | ||
723 | thus exercising the error handling. | ||
724 | |||
725 | Only works with drivers that use the generic timeout handling, | ||
726 | for others it wont do anything. | ||
727 | |||
629 | config FAULT_INJECTION_DEBUG_FS | 728 | config FAULT_INJECTION_DEBUG_FS |
630 | bool "Debugfs entries for fault-injection capabilities" | 729 | bool "Debugfs entries for fault-injection capabilities" |
631 | depends on FAULT_INJECTION && SYSFS && DEBUG_FS | 730 | depends on FAULT_INJECTION && SYSFS && DEBUG_FS |
@@ -637,13 +736,13 @@ config FAULT_INJECTION_STACKTRACE_FILTER | |||
637 | depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT | 736 | depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT |
638 | depends on !X86_64 | 737 | depends on !X86_64 |
639 | select STACKTRACE | 738 | select STACKTRACE |
640 | select FRAME_POINTER | 739 | select FRAME_POINTER if !PPC |
641 | help | 740 | help |
642 | Provide stacktrace filter for fault-injection capabilities | 741 | Provide stacktrace filter for fault-injection capabilities |
643 | 742 | ||
644 | config LATENCYTOP | 743 | config LATENCYTOP |
645 | bool "Latency measuring infrastructure" | 744 | bool "Latency measuring infrastructure" |
646 | select FRAME_POINTER if !MIPS | 745 | select FRAME_POINTER if !MIPS && !PPC |
647 | select KALLSYMS | 746 | select KALLSYMS |
648 | select KALLSYMS_ALL | 747 | select KALLSYMS_ALL |
649 | select STACKTRACE | 748 | select STACKTRACE |
@@ -654,6 +753,14 @@ config LATENCYTOP | |||
654 | Enable this option if you want to use the LatencyTOP tool | 753 | Enable this option if you want to use the LatencyTOP tool |
655 | to find out which userspace is blocking on what kernel operations. | 754 | to find out which userspace is blocking on what kernel operations. |
656 | 755 | ||
756 | config SYSCTL_SYSCALL_CHECK | ||
757 | bool "Sysctl checks" | ||
758 | depends on SYSCTL_SYSCALL | ||
759 | ---help--- | ||
760 | sys_sysctl uses binary paths that have been found challenging | ||
761 | to properly maintain and use. This enables checks that help | ||
762 | you to keep things correct. | ||
763 | |||
657 | source kernel/trace/Kconfig | 764 | source kernel/trace/Kconfig |
658 | 765 | ||
659 | config PROVIDE_OHCI1394_DMA_INIT | 766 | config PROVIDE_OHCI1394_DMA_INIT |
@@ -696,6 +803,70 @@ config FIREWIRE_OHCI_REMOTE_DMA | |||
696 | 803 | ||
697 | If unsure, say N. | 804 | If unsure, say N. |
698 | 805 | ||
806 | menuconfig BUILD_DOCSRC | ||
807 | bool "Build targets in Documentation/ tree" | ||
808 | depends on HEADERS_CHECK | ||
809 | help | ||
810 | This option attempts to build objects from the source files in the | ||
811 | kernel Documentation/ tree. | ||
812 | |||
813 | Say N if you are unsure. | ||
814 | |||
815 | config DYNAMIC_PRINTK_DEBUG | ||
816 | bool "Enable dynamic printk() call support" | ||
817 | default n | ||
818 | depends on PRINTK | ||
819 | select PRINTK_DEBUG | ||
820 | help | ||
821 | |||
822 | Compiles debug level messages into the kernel, which would not | ||
823 | otherwise be available at runtime. These messages can then be | ||
824 | enabled/disabled on a per module basis. This mechanism implicitly | ||
825 | enables all pr_debug() and dev_dbg() calls. The impact of this | ||
826 | compile option is a larger kernel text size of about 2%. | ||
827 | |||
828 | Usage: | ||
829 | |||
830 | Dynamic debugging is controlled by the debugfs file, | ||
831 | dynamic_printk/modules. This file contains a list of the modules that | ||
832 | can be enabled. The format of the file is the module name, followed | ||
833 | by a set of flags that can be enabled. The first flag is always the | ||
834 | 'enabled' flag. For example: | ||
835 | |||
836 | <module_name> <enabled=0/1> | ||
837 | . | ||
838 | . | ||
839 | . | ||
840 | |||
841 | <module_name> : Name of the module in which the debug call resides | ||
842 | <enabled=0/1> : whether the messages are enabled or not | ||
843 | |||
844 | From a live system: | ||
845 | |||
846 | snd_hda_intel enabled=0 | ||
847 | fixup enabled=0 | ||
848 | driver enabled=0 | ||
849 | |||
850 | Enable a module: | ||
851 | |||
852 | $echo "set enabled=1 <module_name>" > dynamic_printk/modules | ||
853 | |||
854 | Disable a module: | ||
855 | |||
856 | $echo "set enabled=0 <module_name>" > dynamic_printk/modules | ||
857 | |||
858 | Enable all modules: | ||
859 | |||
860 | $echo "set enabled=1 all" > dynamic_printk/modules | ||
861 | |||
862 | Disable all modules: | ||
863 | |||
864 | $echo "set enabled=0 all" > dynamic_printk/modules | ||
865 | |||
866 | Finally, passing "dynamic_printk" at the command line enables | ||
867 | debugging for all modules. This mode can be turned off via the above | ||
868 | disable command. | ||
869 | |||
699 | source "samples/Kconfig" | 870 | source "samples/Kconfig" |
700 | 871 | ||
701 | source "lib/Kconfig.kgdb" | 872 | source "lib/Kconfig.kgdb" |