Lines Matching +full:lock +full:- +full:detect +full:- +full:function +full:- +full:integer +full:- +full:n +full:- +full:enable
1 # SPDX-License-Identifier: GPL-2.0-only
19 parameter printk.time=1. See Documentation/admin-guide/kernel-parameters.rst
35 no option to enable/disable at the kernel command line parameter or
47 kernel module where the function is located.
50 int "Default console loglevel (1-15)"
60 Note: This does not affect the log level of un-prefixed printk()
65 int "quiet console loglevel (1-15)"
76 int "Default message log level (1-7)"
82 This was hard-coded to KERN_WARNING since at least 2.6.10 but folks
91 bool "Delay each boot printk message by N milliseconds"
97 using "boot_delay=N".
102 system, and then set "lpj=M" before setting "boot_delay=N".
105 BOOT_PRINTK_DELAY also may cause LOCKUP_DETECTOR to detect
109 bool "Enable dynamic printk() support"
110 default n
118 enabled/disabled based on various levels of scope - per source file,
119 function, module, format string, and line number. This mechanism
138 filename:lineno [module]function flags format
143 function : function that contains the debug statement
150 # filename:lineno [module]function flags format
157 // enable the message at line 1603 of file svcsock.c
158 nullarbor:~ # echo -n 'file svcsock.c line 1603 +p' >
161 // enable all the messages in file svcsock.c
162 nullarbor:~ # echo -n 'file svcsock.c +p' >
165 // enable all the messages in the NFS server module
166 nullarbor:~ # echo -n 'module nfsd +p' >
169 // enable all 12 messages in the function svc_process()
170 nullarbor:~ # echo -n 'func svc_process +p' >
173 // disable all 12 messages in the function svc_process()
174 nullarbor:~ # echo -n 'func svc_process -p' >
177 See Documentation/admin-guide/dynamic-debug-howto.rst for additional
181 bool "Enable core function of dynamic debug support"
185 Enable core functional support of dynamic debug. It is useful
207 debugging but costs about 70-100K of memory.
222 Say Y here if you need to enable miscellaneous debug code that should
225 menu "Compile-time checks and compiler options"
235 # older binutils ports do not support when utilizing RISC-V style linker
238 def_bool $(as-instr,.uleb128 .Lexpr_end4 - .Lexpr_start3\n.Lexpr_start3:\n.Lexpr_end4:)
246 This adds debug symbols to the kernel and modules (gcc -g), and
290 5.0+ accepts the -gdwarf-5 flag but only had partial support for some
294 15-18% savings in resulting image and debug info section sizes as
332 depends on $(cc-option,-gz=zlib)
333 depends on $(ld-option,--compress-debug-sections=zlib)
338 Users of dpkg-deb via scripts/package/builddeb may find an increase in
347 depends on $(cc-option,-gz=zstd)
348 depends on $(ld-option,--compress-debug-sections=zstd)
359 depends on $(cc-option,-gsplit-dwarf)
360 # RISC-V linker relaxation + -gsplit-dwarf has issues with LLVM and GCC
362 # https://github.com/llvm/llvm-project/issues/56642
406 Support for the --lang_exclude flag which makes pahole exclude
420 bool "Allow loading modules with non-matching BTF type info"
436 instance. See Documentation/process/debugging/gdb-kernel-debugging.rst
457 bool "Strip assembler-generated symbols during link"
458 default n
460 Strip internal assembler-generated symbols during a link (symbols
478 This option will install uapi headers (headers exported to user-space)
481 user-space program samples. It is also needed by some features such
485 bool "Enable full Section mismatch analysis"
499 - Add the option -fno-inline-functions-called-once to gcc commands.
500 When inlining a function annotated with __init in a non-init
501 function, we would lose the section information and thus
507 bool "Make section mismatch errors non-fatal"
510 If you say N here, the build process will fail if there are any
516 bool "Force all function address 64B aligned"
520 There are cases that a commit from one domain changes the function
522 bump (regression or improvement). Enable this option will help to
523 verify if the bump is caused by function alignment changes, while
549 bool "Compile-time stack metadata validation"
552 default n
554 Validate frame pointer rules at compile-time. This helps ensure that
570 Selecting this option will pass "-Map=vmlinux.map" to ld
592 bool "Force weak per-cpu definitions"
601 2. percpu variables can't be defined inside a function
621 keys are documented in <file:Documentation/admin-guide/sysrq.rst>.
625 hex "Enable magic SysRq key functions by default"
630 This may be set to 1 or 0 to enable or disable them all, or
631 to a bitmask as described in Documentation/admin-guide/sysrq.rst.
634 bool "Enable magic SysRq key over serial"
640 This option allows you to decide whether you want to enable the
648 Specifies a sequence of characters that can follow BREAK to enable
657 debugging files into. Enable this option to be able to read and
663 If unsure, say N.
672 debugfs=[on,no-mount,off]. The restrictions apply for API access
691 Access is off. Clients get -PERM when trying to create nodes in
693 Client can then back-off or continue without debugfs access.
733 properly. This can make kmalloc/kfree-intensive workloads
756 Enable this to turn on debugging of RCU list heads (call_rcu() usage).
767 int "debug_objects bootup default value (0-1)"
775 bool "Enable shrinker debugging support"
778 Say Y to enable the shrinker debugfs interface which provides
787 task has ever had available in the sysrq-T and sysrq-P debug output.
794 bool "Detect stack corruption on calls to schedule()"
796 default n
818 Enable this to turn on extended checks in the virtual-memory system
821 If unsure, say N.
828 Enable additional IPIs that ensure lazy tlb mm references are removed
831 If unsure, say N.
838 Enable VM maple tree debugging information and extra validations.
840 If unsure, say N.
843 bool "Debug VM red-black trees"
846 Enable VM red-black tree debugging information and extra validations.
848 If unsure, say N.
851 bool "Debug page-flags operations"
856 If unsure, say N.
872 If unsure, say N.
881 Enable some costly sanity checks in virtual to page code. This can
884 If unsure, say N.
897 Enable this for additional checks during memory initialisation.
901 on the mminit_loglevel= command-line option.
911 debugfs interface under /sys/kernel/debug/notifier-error-inject/memory
916 Example: Inject memory hotplug offline error (-12 == -ENOMEM)
918 # cd /sys/kernel/debug/notifier-error-inject/memory
919 # echo -12 > actions/MEM_GOING_OFFLINE/error
924 be called memory-notifier-error-inject.
926 If unsure, say N.
937 Say N if unsure.
956 mechanism for non-highmem pages and on non-highmem systems.
980 These kinds of bugs usually occur when call-chains in the
987 If in doubt, say "N".
994 bool "Enable memory allocation profiling"
995 default n
1008 bool "Enable memory allocation profiling by default"
1014 default n
1031 Enable this to generate a spurious interrupt just before a shared
1041 Say Y here to enable the kernel to panic when it oopses. This
1049 Say N if unsure.
1062 the kernel panics. If n = 0, then we wait forever. A timeout
1063 value n > 0 will wait n seconds before rebooting, while a timeout
1064 value n < 0 will reboot immediately. This setting can be overridden
1072 bool "Detect Soft Lockups"
1076 Say Y here to enable the kernel to act as a watchdog to detect
1085 bool "Detect Interrupt Storm in Soft Lockups"
1090 Say Y here to enable the kernel to detect interrupt storm
1095 be on the callstack. To detect this case, it is necessary to report
1102 Say Y here to enable the kernel to panic on "soft lockups",
1110 high-availability systems that have uptime guarantees and
1113 Say N if unsure.
1131 bool "Detect Hard Lockups"
1140 Say Y here to enable the kernel to act as a watchdog to detect
1149 # Note that arch-specific variants are always preferred.
1164 an arch-specific hardlockup detector or if resources needed
1187 The arch-specific implementation of the hardlockup detector will
1209 Say Y here to enable the kernel to panic on "hard lockups",
1214 Say N if unsure.
1217 bool "Detect Hung Tasks"
1221 Say Y here to enable the kernel to detect "hung tasks",
1237 to determine when a task has become non-responsive and should
1251 Say Y here to enable the kernel to panic on "hung tasks",
1258 high-availability systems that have uptime guarantees and
1261 Say N if unsure.
1264 bool "Detect Workqueue Stalls"
1267 Say Y here to enable stall detection on workqueues. If a
1275 bool "Report per-cpu work items which hog CPU for too long"
1278 Say Y here to enable reporting of concurrency-managed per-cpu work
1282 them from stalling other per-cpu work items. Occassional
1295 lockup, "hung task", or locking arbitrary lock for a long time.
1296 Also it could generate series of lockups with cooling-down periods.
1298 If unsure, say N.
1315 default n
1327 application, you can say N to avoid the very slight overhead
1337 commonly used smp_processor_id() function and will print warnings
1338 if kernel code uses it in a preemption-unsafe way. Also, the kernel
1339 will detect preemption count underflows.
1345 menu "Lock Debugging (spinlocks, mutexes, etc...)"
1353 bool "Lock debugging: prove locking correctness"
1364 default n
1379 participant CPUs, tasks and irq-contexts would be needed
1392 and rwsems - in which case all dependencies between these
1397 For more details, see Documentation/locking/lockdep-design.rst.
1400 bool "Enable raw_spinlock - spinlock nesting checks" if !ARCH_SUPPORTS_RT
1404 Enable the raw_spinlock vs. spinlock nesting checks which ensure
1405 that the lock nesting rules for PREEMPT_RT enabled kernels are
1409 bool "Lock usage statistics"
1416 default n
1418 This feature enables tracking lock contention points
1422 This also enables lock events required by "perf lock",
1424 If you want to use "perf lock", you also need to turn on
1427 CONFIG_LOCK_STAT defines "contended" and "acquired" lock events.
1438 bool "Spinlock and rw-lock debugging: basic checks"
1463 injecting additional -EDEADLK wound/backoff cases. Together with
1469 even a debug kernel. If you are a driver writer, enable it. If
1480 bool "Lock debugging: detect incorrect freeing of live locks"
1487 This feature will check whether any held lock (spinlock, rwlock,
1489 memory-freeing routines (kfree(), kmem_cache_free(), free_pages(),
1490 vfree(), etc.), whether a live lock is incorrectly reinitialized via
1491 spin_lock_init()/mutex_init()/etc., or whether there is any lock
1542 … Try increasing this value if you hit "lockdep bfs error:-1" warning due to __cq_enqueue() failure.
1545 bool "Lock dependency engine debugging"
1549 If you say Y here, the lock dependency engine will do
1565 bool "Locking API boot-time self-tests"
1568 Say Y here if you want the kernel to run a short self-test during
1569 bootup. The self-test checks whether common types of locking bugs
1571 lock debugging then those bugs won't be detected of course.)
1584 Say Y here if you want kernel locking-primitive torture tests
1587 Say N if you are unsure.
1595 It is recommended to enable DEBUG_WW_MUTEX_SLOWPATH in conjunction
1599 Say N if you are unsure.
1616 default n
1620 include the IPI handler function currently executing (if any)
1627 default n
1632 endmenu # lock debugging
1639 either tracing or lock debugging.
1650 default n
1675 default n
1736 Enable this to turn on extended checks in the linked-list walking
1741 you should only enable CONFIG_LIST_HARDENED instead.
1743 If unsure, say N.
1749 Enable this to turn on extended checks in the priority-ordered
1750 linked-list (plist) walking routines. This checks the entire
1753 If unsure, say N.
1759 Enable this to turn on checks on scatter-gather tables. This can
1763 If unsure, say N.
1769 Enable this to turn on sanity checking for notifier call chains.
1773 performance, say N.
1788 Enable maple tree debugging information and extra validations.
1790 If unsure, say N.
1797 bool "Force round-robin CPU selection for unbound work items"
1799 default n
1806 round-robin CPU selection to flush out usages which depend on the
1812 bool "Enable CPU hotplug state control"
1815 default n
1822 Say N if your are unsure.
1835 Enable this option if you want to use the LatencyTOP tool
1843 default n
1875 in charge of the OHCI-1394 controllers should be used instead.
1877 See Documentation/core-api/debugging-via-ohci1394.rst for more information.
1897 If this option is switched on, and IO_STRICT_DEVMEM=n, the /dev/mem
1909 io-memory regardless of whether a driver is actively using that
1914 userspace access to *idle* io-memory ranges (see /proc/iomem) This
1939 Say N if unsure.
1948 interface /sys/kernel/debug/notifier-error-inject/pm
1953 Example: Inject PM suspend error (-12 = -ENOMEM)
1955 # cd /sys/kernel/debug/notifier-error-inject/pm/
1956 # echo -12 > actions/PM_SUSPEND_PREPARE/error
1961 be called pm-notifier-error-inject.
1963 If unsure, say N.
1972 /sys/kernel/debug/notifier-error-inject/OF-reconfig/
1978 be called of-reconfig-notifier-error-inject.
1980 If unsure, say N.
1988 interface /sys/kernel/debug/notifier-error-inject/netdev
1993 Example: Inject netdevice mtu change error (-22 = -EINVAL)
1995 # cd /sys/kernel/debug/notifier-error-inject/netdev
1996 # echo -22 > actions/NETDEV_CHANGEMTU/error
2001 be called netdev-notifier-error-inject.
2003 If unsure, say N.
2006 bool "Fault-injections of functions"
2013 If unsure, say N
2016 bool "Fault-injection framework"
2019 Provide fault-injection framework.
2020 For more details, see Documentation/fault-injection/.
2023 bool "Fault-injection capability for kmalloc"
2026 Provide fault-injection capability for kmalloc.
2029 bool "Fault-injection capability for alloc_pages()"
2032 Provide fault-injection capability for alloc_pages().
2038 Provides fault-injection capability to inject failures
2042 bool "Fault-injection capability for disk IO"
2045 Provide fault-injection capability for disk IO.
2048 bool "Fault-injection capability for faking disk interrupts"
2051 Provide fault-injection capability on end IO handling. This
2059 bool "Fault-injection capability for futexes"
2063 Provide fault-injection capability for futexes.
2066 bool "Debugfs entries for fault-injection capabilities"
2069 Enable configuration of fault-injection capabilities via debugfs.
2072 bool "Fault-injection capability for functions"
2075 Provide function-based fault-injection capability.
2076 This will allow you to override a specific function with a return
2077 with given return value. As a result, function caller will see
2082 bool "Fault-injection capability for MMC IO"
2085 Provide fault-injection capability for MMC IO.
2092 bool "Fault-injection capability for SunRPC"
2095 Provide fault-injection capability for SunRPC and
2099 bool "Fault-injection capability forcing skb to reallocate"
2102 Provide fault-injection capability that forces the skb to be
2106 Documentation/fault-injection/fault-injection.rst
2109 bool "Configfs interface for fault-injection capabilities"
2113 This option allows configfs-based drivers to dynamically configure
2114 fault-injection via configfs. Each parameter for driver-specific
2115 fault-injection can be made visible as a configfs attribute in a
2120 bool "stacktrace filter for fault-injection capabilities"
2126 Provide stacktrace filter for fault-injection capabilities
2136 def_bool $(cc-option,-fsanitize-coverage=trace-pc)
2150 for coverage-guided fuzzing (randomized testing).
2152 For more details, see Documentation/dev-tools/kcov.rst.
2155 bool "Enable comparison operands collection by KCOV"
2157 depends on $(cc-option,-fsanitize-coverage=trace-cmp)
2172 filesystem fuzzing with AFL) then you will want to enable coverage
2173 for more specific subsets of files, and should say n here.
2180 KCOV uses preallocated per-cpu areas to collect coverage from
2201 Enable this to include the Dhrystone 2.1 benchmark. This test
2208 the kernel command line (when built-in), or from userspace (when
2209 built-in or modular).
2217 test_dhry.iterations=<n>
2221 echo <n> > /sys/module/test_dhry/parameters/iterations
2231 If unsure, say N.
2239 If you don't need it: say N
2244 Documentation/fault-injection/provoke-crashes.rst
2251 Enable to turn on cpumask tests, running at boot or module load time.
2254 to the KUnit documentation in Documentation/dev-tools/kunit/.
2256 If unsure, say N.
2263 Enable this to turn on 'list_sort()' function test. This test is
2267 If unsure, say N.
2273 Enable this to turn on min heap function tests. This test is
2277 If unsure, say N.
2280 tristate "Array-based sort test" if !KUNIT_ALL_TESTS
2284 This option enables the self-test function of 'sort()' at boot,
2287 If unsure, say N.
2293 Enable this to turn on 'do_div()' function test. This test is
2297 If unsure, say N.
2303 Enable this to turn on 'mul_u64_u64_div_u64()' function test.
2307 If unsure, say N.
2315 Enable this to turn on testing of the operation of the I/O iterator
2319 If unsure, say N.
2333 Say N if you are unsure.
2341 This option will enable testing the fprobe when the system boot.
2345 Say N if you are unsure.
2357 have to enable STACKTRACE as well.
2359 Say N if you are unsure.
2369 Say N if you are unsure.
2372 tristate "Red-Black tree test"
2379 tristate "Reed-Solomon library test"
2385 This option enables the self-test function of rslib at boot,
2388 If unsure, say N.
2401 Enable this option to build test module which validates per-cpu
2404 If unsure, say N.
2407 tristate "Perform an atomic64_t self-test"
2409 Enable this option to test the atomic64_t functions at boot or
2412 If unsure, say N.
2419 This is a one-shot self test that permutes through the
2421 N-disk array. Recovery is performed with the asynchronous
2425 If unsure, say N.
2452 Enable this option to test the bitmap functions at boot.
2454 If unsure, say N.
2465 Enable this option to test the maple tree code functions at boot, or
2466 when the module is loaded. Enable "Debug Maple Trees" will enable
2469 If unsure, say N.
2474 Enable this option to test the rhashtable functions at boot.
2476 If unsure, say N.
2490 If unsure, say N.
2496 Enable this option to test priority array manager on boot
2499 If unsure, say N.
2505 Enable this option to test the irq timings code on boot.
2507 If unsure, say N.
2520 If unsure, say N.
2528 no compiler warnings from C=1 sparse checker or -Wextra
2532 If unsure, say N.
2536 default n
2545 If unsure, say N.
2558 If unsure, say N.
2567 If unsure, say N.
2575 If unsure, say N.
2584 actual firmware-using device. The contents can be rechecked by
2587 If unsure, say N.
2597 If unsure, say N.
2604 Enable this option to test the bitfield functions at boot.
2612 to the KUnit documentation in Documentation/dev-tools/kunit/.
2614 If unsure, say N.
2621 Enable this option to test the checksum functions at boot.
2629 to the KUnit documentation in Documentation/dev-tools/kunit/.
2631 If unsure, say N.
2638 Enable this option to test the util_macros.h function at boot.
2646 to the KUnit documentation in Documentation/dev-tools/kunit/.
2648 If unsure, say N.
2651 tristate "KUnit Test for integer hash functions" if !KUNIT_ALL_TESTS
2655 Enable this option to test the kernel's string (<linux/stringhash.h>), and
2656 integer (<linux/hash.h>) hash functions on boot.
2664 to the KUnit documentation in Documentation/dev-tools/kunit/.
2666 This is intended to help people writing architecture-specific
2667 optimized versions. If unsure, say N.
2678 to the KUnit documentation in Documentation/dev-tools/kunit/.
2680 If unsure, say N.
2690 to the KUnit documentation in Documentation/dev-tools/kunit/.
2692 If unsure, say N.
2695 tristate "KUnit Test for Kernel Linked-list structures" if !KUNIT_ALL_TESTS
2709 to the KUnit documentation in Documentation/dev-tools/kunit/.
2711 If unsure, say N.
2722 in Documentation/dev-tools/kunit/.
2724 If unsure, say N.
2734 to the KUnit documentation in Documentation/dev-tools/kunit/.
2736 If unsure, say N.
2746 to the KUnit documentation in Documentation/dev-tools/kunit/.
2748 If unsure, say N.
2758 to the KUnit documentation in Documentation/dev-tools/kunit/.
2760 If unsure, say N.
2770 to the KUnit documentation in Documentation/dev-tools/kunit/.
2772 If unsure, say N.
2781 to the KUnit documentation in Documentation/dev-tools/kunit/.
2783 If unsure, say N.
2792 to the KUnit documentation in Documentation/dev-tools/kunit/.
2794 If unsure, say N.
2804 to the KUnit documentation in Documentation/dev-tools/kunit/.
2806 If unsure, say N.
2817 to the KUnit documentation in Documentation/dev-tools/kunit/.
2819 If unsure, say N.
2826 Test if the kernel is zero-initializing stack variables and
2833 tristate "Test fortified str*() and mem*() function internals at runtime" if !KUNIT_ALL_TESTS
2849 If unsure, say N.
2862 This is intended to help people writing architecture-specific
2863 optimized versions. If unsure, say N.
2876 Enable this option to test the kernel's siphash (<linux/siphash.h>) hash
2879 This is intended to help people writing architecture-specific
2880 optimized versions. If unsure, say N.
2897 If unsure, say N.
2905 If unsure, say N.
2912 pr_debugs in a 'do_debugging' function, then alters their
2913 enablements, calls the function, and compares counts.
2915 If unsure, say N.
2940 tools/testing/selftests/kmod/kmod.sh --help
2942 If unsure, say N.
2979 for each symbol. Binary search will at worst be O(log(n)) so the
3000 on an x86_64 with only 8 cores. Enable this only if you want to
3007 If unsure, say N.
3031 Selecting something other than "Fast" will enable tests which slow
3041 bool "Enable testing kallsyms with large exports"
3043 This will enable larger number of symbols. This will slow down
3049 This will enable exports to the point we know we'll start crashing
3083 Test the kernel's ability to detect incorrect calls to
3084 virt_to_phys() done against the non-linear part of the
3087 If unsure, say N.
3090 tristate "Test memcat_p() helper function"
3095 If unsure, say N.
3099 default n
3102 Enable this option to test object aggregation manager on boot
3108 Test if the kernel is zero-initializing heap and page allocations.
3111 If unsure, say N.
3122 Doing so will allow you to run tools/testing/selftest/vm/hmm-tests.
3124 If unsure, say N.
3139 Enable this option to add /sys/kernel/debug/selftest_helpers/test_fpu
3141 for self-testing floating point control register setting in
3144 If unsure, say N.
3150 Enable this option to create a kernel module that will trigger
3156 If unsure, say N.
3160 default n
3167 If unsure, say N.
3170 tristate "Integer exponentiation (int_pow) test" if !KUNIT_ALL_TESTS
3174 This option enables the KUnit test suite for the int_pow function,
3175 which performs integer exponentiation. The test suite is designed to
3181 function.
3183 If unsure, say N
3186 tristate "Integer square root test" if !KUNIT_ALL_TESTS
3190 This option enables the KUnit test suite for the int_sqrt() function,
3196 function.
3198 If unsure, say N
3214 memtest=0, mean disabled; -- default
3218 If you are unsure how to answer this question, answer N.
3223 bool "Microsoft Hyper-V driver testing"
3224 default n
3227 Select this option to enable Hyper-V vmbus testing.
3237 Enables rustc's `-Cdebug-assertions` codegen option.
3240 compilation on or off. This can be used to enable extra debugging
3246 If unsure, say N.
3253 Enables rustc's `-Coverflow-checks` codegen option.
3255 This flag allows you to control the behavior of runtime integer
3256 overflow. When overflow-checks are enabled, a Rust panic will occur
3264 bool "Allow unoptimized build-time assertions"
3277 If unsure, say N.
3288 please refer to the KUnit documentation in Documentation/dev-tools/kunit/.
3290 If unsure, say N.