aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Kconfig.debug
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Kconfig.debug')
-rw-r--r--lib/Kconfig.debug181
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
79config HEADERS_CHECK 82config 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
165config 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
182config 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
162config SCHED_DEBUG 189config 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
498config 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
471config DEBUG_WRITECOUNT 507config 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
517config 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
481config DEBUG_LIST 529config 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
609config 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
561config KPROBES_SANITY_TEST 622config 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
649config 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
588config LKDTM 676config 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
623config FAIL_MAKE_REQUEST 711config 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
717config 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
629config FAULT_INJECTION_DEBUG_FS 728config 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
644config LATENCYTOP 743config 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
756config 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
657source kernel/trace/Kconfig 764source kernel/trace/Kconfig
658 765
659config PROVIDE_OHCI1394_DMA_INIT 766config 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
806menuconfig 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
815config 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
699source "samples/Kconfig" 870source "samples/Kconfig"
700 871
701source "lib/Kconfig.kgdb" 872source "lib/Kconfig.kgdb"