aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Kconfig.debug
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Kconfig.debug')
-rw-r--r--lib/Kconfig.debug117
1 files changed, 116 insertions, 1 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 0b504814e378..b0f239e443bc 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -495,6 +495,15 @@ config DEBUG_VM
495 495
496 If unsure, say N. 496 If unsure, say N.
497 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
498config DEBUG_WRITECOUNT 507config DEBUG_WRITECOUNT
499 bool "Debug filesystem writers count" 508 bool "Debug filesystem writers count"
500 depends on DEBUG_KERNEL 509 depends on DEBUG_KERNEL
@@ -597,6 +606,19 @@ config RCU_TORTURE_TEST_RUNNABLE
597 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
598 after being manually enabled via /proc. 607 after being manually enabled via /proc.
599 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
600config KPROBES_SANITY_TEST 622config KPROBES_SANITY_TEST
601 bool "Kprobes sanity tests" 623 bool "Kprobes sanity tests"
602 depends on DEBUG_KERNEL 624 depends on DEBUG_KERNEL
@@ -624,6 +646,33 @@ config BACKTRACE_SELF_TEST
624 646
625 Say N if you are unsure. 647 Say N if you are unsure.
626 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
627config LKDTM 676config LKDTM
628 tristate "Linux Kernel Dump Test Tool Module" 677 tristate "Linux Kernel Dump Test Tool Module"
629 depends on DEBUG_KERNEL 678 depends on DEBUG_KERNEL
@@ -661,10 +710,21 @@ config FAIL_PAGE_ALLOC
661 710
662config FAIL_MAKE_REQUEST 711config FAIL_MAKE_REQUEST
663 bool "Fault-injection capability for disk IO" 712 bool "Fault-injection capability for disk IO"
664 depends on FAULT_INJECTION 713 depends on FAULT_INJECTION && BLOCK
665 help 714 help
666 Provide fault-injection capability for disk IO. 715 Provide fault-injection capability for disk IO.
667 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
668config FAULT_INJECTION_DEBUG_FS 728config FAULT_INJECTION_DEBUG_FS
669 bool "Debugfs entries for fault-injection capabilities" 729 bool "Debugfs entries for fault-injection capabilities"
670 depends on FAULT_INJECTION && SYSFS && DEBUG_FS 730 depends on FAULT_INJECTION && SYSFS && DEBUG_FS
@@ -752,6 +812,61 @@ menuconfig BUILD_DOCSRC
752 812
753 Say N if you are unsure. 813 Say N if you are unsure.
754 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
755source "samples/Kconfig" 870source "samples/Kconfig"
756 871
757source "lib/Kconfig.kgdb" 872source "lib/Kconfig.kgdb"