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"
237 def_bool $(as-instr,.uleb128 .Lexpr_end4 - .Lexpr_start3\n.Lexpr_start3:\n.Lexpr_end4:)
245 This adds debug symbols to the kernel and modules (gcc -g), and
288 5.0+ accepts the -gdwarf-5 flag but only had partial support for some
292 15-18% savings in resulting image and debug info section sizes as
330 depends on $(cc-option,-gz=zlib)
331 depends on $(ld-option,--compress-debug-sections=zlib)
336 Users of dpkg-deb via scripts/package/builddeb may find an increase in
345 depends on $(cc-option,-gz=zstd)
346 depends on $(ld-option,--compress-debug-sections=zstd)
357 depends on $(cc-option,-gsplit-dwarf)
358 # RISC-V linker relaxation + -gsplit-dwarf has issues with LLVM and GCC
360 # https://github.com/llvm/llvm-project/issues/56642
400 Support for the --lang_exclude flag which makes pahole exclude
414 bool "Allow loading modules with non-matching BTF type info"
430 instance. See Documentation/dev-tools/gdb-kernel-debugging.rst
451 bool "Strip assembler-generated symbols during link"
452 default n
454 Strip internal assembler-generated symbols during a link (symbols
472 This option will install uapi headers (headers exported to user-space)
475 user-space program samples. It is also needed by some features such
479 bool "Enable full Section mismatch analysis"
493 - Add the option -fno-inline-functions-called-once to gcc commands.
494 When inlining a function annotated with __init in a non-init
495 function, we would lose the section information and thus
501 bool "Make section mismatch errors non-fatal"
504 If you say N here, the build process will fail if there are any
510 bool "Force all function address 64B aligned"
514 There are cases that a commit from one domain changes the function
516 bump (regression or improvement). Enable this option will help to
517 verify if the bump is caused by function alignment changes, while
543 bool "Compile-time stack metadata validation"
546 default n
548 Validate frame pointer rules at compile-time. This helps ensure that
564 Selecting this option will pass "-Map=vmlinux.map" to ld
571 bool "Force weak per-cpu definitions"
580 2. percpu variables can't be defined inside a function
600 keys are documented in <file:Documentation/admin-guide/sysrq.rst>.
604 hex "Enable magic SysRq key functions by default"
609 This may be set to 1 or 0 to enable or disable them all, or
610 to a bitmask as described in Documentation/admin-guide/sysrq.rst.
613 bool "Enable magic SysRq key over serial"
619 This option allows you to decide whether you want to enable the
627 Specifies a sequence of characters that can follow BREAK to enable
636 debugging files into. Enable this option to be able to read and
642 If unsure, say N.
651 debugfs=[on,no-mount,off]. The restrictions apply for API access
670 Access is off. Clients get -PERM when trying to create nodes in
672 Client can then back-off or continue without debugfs access.
712 properly. This can make kmalloc/kfree-intensive workloads
735 Enable this to turn on debugging of RCU list heads (call_rcu() usage).
746 int "debug_objects bootup default value (0-1)"
754 bool "Enable shrinker debugging support"
757 Say Y to enable the shrinker debugfs interface which provides
766 task has ever had available in the sysrq-T and sysrq-P debug output.
771 bool "Detect stack corruption on calls to schedule()"
773 default n
795 Enable this to turn on extended checks in the virtual-memory system
798 If unsure, say N.
805 Enable additional IPIs that ensure lazy tlb mm references are removed
808 If unsure, say N.
815 Enable VM maple tree debugging information and extra validations.
817 If unsure, say N.
820 bool "Debug VM red-black trees"
823 Enable VM red-black tree debugging information and extra validations.
825 If unsure, say N.
828 bool "Debug page-flags operations"
833 If unsure, say N.
849 If unsure, say N.
858 Enable some costly sanity checks in virtual to page code. This can
861 If unsure, say N.
874 Enable this for additional checks during memory initialisation.
878 on the mminit_loglevel= command-line option.
888 debugfs interface under /sys/kernel/debug/notifier-error-inject/memory
893 Example: Inject memory hotplug offline error (-12 == -ENOMEM)
895 # cd /sys/kernel/debug/notifier-error-inject/memory
896 # echo -12 > actions/MEM_GOING_OFFLINE/error
901 be called memory-notifier-error-inject.
903 If unsure, say N.
914 Say N if unsure.
933 mechanism for non-highmem pages and on non-highmem systems.
957 These kinds of bugs usually occur when call-chains in the
964 If in doubt, say "N".
976 Enable this to generate a spurious interrupt just before a shared
986 Say Y here to enable the kernel to panic when it oopses. This
994 Say N if unsure.
1007 the kernel panics. If n = 0, then we wait forever. A timeout
1008 value n > 0 will wait n seconds before rebooting, while a timeout
1009 value n < 0 will reboot immediately.
1015 bool "Detect Soft Lockups"
1019 Say Y here to enable the kernel to act as a watchdog to detect
1031 Say Y here to enable the kernel to panic on "soft lockups",
1039 high-availability systems that have uptime guarantees and
1042 Say N if unsure.
1060 bool "Detect Hard Lockups"
1069 Say Y here to enable the kernel to act as a watchdog to detect
1078 # Note that arch-specific variants are always preferred.
1093 an arch-specific hardlockup detector or if resources needed
1116 The arch-specific implementation of the hardlockup detector will
1138 Say Y here to enable the kernel to panic on "hard lockups",
1143 Say N if unsure.
1146 bool "Detect Hung Tasks"
1150 Say Y here to enable the kernel to detect "hung tasks",
1166 to determine when a task has become non-responsive and should
1180 Say Y here to enable the kernel to panic on "hung tasks",
1187 high-availability systems that have uptime guarantees and
1190 Say N if unsure.
1193 bool "Detect Workqueue Stalls"
1196 Say Y here to enable stall detection on workqueues. If a
1204 bool "Report per-cpu work items which hog CPU for too long"
1207 Say Y here to enable reporting of concurrency-managed per-cpu work
1211 them from stalling other per-cpu work items. Occassional
1224 lockup, "hung task", or locking arbitrary lock for a long time.
1225 Also it could generate series of lockups with cooling-down periods.
1227 If unsure, say N.
1244 default n
1256 application, you can say N to avoid the very slight overhead
1262 bool "Enable extra timekeeping sanity checking"
1264 This option will enable additional timekeeping sanity checks
1272 If unsure, say N.
1279 commonly used smp_processor_id() function and will print warnings
1280 if kernel code uses it in a preemption-unsafe way. Also, the kernel
1281 will detect preemption count underflows.
1287 menu "Lock Debugging (spinlocks, mutexes, etc...)"
1295 bool "Lock debugging: prove locking correctness"
1306 default n
1321 participant CPUs, tasks and irq-contexts would be needed
1334 and rwsems - in which case all dependencies between these
1339 For more details, see Documentation/locking/lockdep-design.rst.
1342 bool "Enable raw_spinlock - spinlock nesting checks"
1344 default n
1346 Enable the raw_spinlock vs. spinlock nesting checks which ensure
1347 that the lock nesting rules for PREEMPT_RT enabled kernels are
1350 NOTE: There are known nesting problems. So if you enable this
1356 If unsure, select N.
1359 bool "Lock usage statistics"
1366 default n
1368 This feature enables tracking lock contention points
1372 This also enables lock events required by "perf lock",
1374 If you want to use "perf lock", you also need to turn on
1377 CONFIG_LOCK_STAT defines "contended" and "acquired" lock events.
1388 bool "Spinlock and rw-lock debugging: basic checks"
1413 injecting additional -EDEADLK wound/backoff cases. Together with
1419 even a debug kernel. If you are a driver writer, enable it. If
1430 bool "Lock debugging: detect incorrect freeing of live locks"
1437 This feature will check whether any held lock (spinlock, rwlock,
1439 memory-freeing routines (kfree(), kmem_cache_free(), free_pages(),
1440 vfree(), etc.), whether a live lock is incorrectly reinitialized via
1441 spin_lock_init()/mutex_init()/etc., or whether there is any lock
1492 … Try increasing this value if you hit "lockdep bfs error:-1" warning due to __cq_enqueue() failure.
1495 bool "Lock dependency engine debugging"
1499 If you say Y here, the lock dependency engine will do
1515 bool "Locking API boot-time self-tests"
1518 Say Y here if you want the kernel to run a short self-test during
1519 bootup. The self-test checks whether common types of locking bugs
1521 lock debugging then those bugs won't be detected of course.)
1534 Say Y here if you want kernel locking-primitive torture tests
1537 Say N if you are unsure.
1545 It is recommended to enable DEBUG_WW_MUTEX_SLOWPATH in conjunction
1549 Say N if you are unsure.
1565 default n
1569 include the IPI handler function currently executing (if any)
1576 default n
1581 endmenu # lock debugging
1588 either tracing or lock debugging.
1599 default n
1624 default n
1685 Enable this to turn on extended checks in the linked-list walking
1690 you should only enable CONFIG_LIST_HARDENED instead.
1692 If unsure, say N.
1698 Enable this to turn on extended checks in the priority-ordered
1699 linked-list (plist) walking routines. This checks the entire
1702 If unsure, say N.
1708 Enable this to turn on checks on scatter-gather tables. This can
1712 If unsure, say N.
1718 Enable this to turn on sanity checking for notifier call chains.
1722 performance, say N.
1728 Enable maple tree debugging information and extra validations.
1730 If unsure, say N.
1737 bool "Force round-robin CPU selection for unbound work items"
1739 default n
1746 round-robin CPU selection to flush out usages which depend on the
1752 bool "Enable CPU hotplug state control"
1755 default n
1762 Say N if your are unsure.
1775 Enable this option if you want to use the LatencyTOP tool
1783 default n
1815 in charge of the OHCI-1394 controllers should be used instead.
1817 See Documentation/core-api/debugging-via-ohci1394.rst for more information.
1837 If this option is switched on, and IO_STRICT_DEVMEM=n, the /dev/mem
1849 io-memory regardless of whether a driver is actively using that
1854 userspace access to *idle* io-memory ranges (see /proc/iomem) This
1879 Say N if unsure.
1888 interface /sys/kernel/debug/notifier-error-inject/pm
1893 Example: Inject PM suspend error (-12 = -ENOMEM)
1895 # cd /sys/kernel/debug/notifier-error-inject/pm/
1896 # echo -12 > actions/PM_SUSPEND_PREPARE/error
1901 be called pm-notifier-error-inject.
1903 If unsure, say N.
1912 /sys/kernel/debug/notifier-error-inject/OF-reconfig/
1918 be called of-reconfig-notifier-error-inject.
1920 If unsure, say N.
1928 interface /sys/kernel/debug/notifier-error-inject/netdev
1933 Example: Inject netdevice mtu change error (-22 = -EINVAL)
1935 # cd /sys/kernel/debug/notifier-error-inject/netdev
1936 # echo -22 > actions/NETDEV_CHANGEMTU/error
1941 be called netdev-notifier-error-inject.
1943 If unsure, say N.
1946 bool "Fault-injections of functions"
1953 If unsure, say N
1956 bool "Fault-injection framework"
1959 Provide fault-injection framework.
1960 For more details, see Documentation/fault-injection/.
1963 bool "Fault-injection capability for kmalloc"
1967 Provide fault-injection capability for kmalloc.
1970 bool "Fault-injection capability for alloc_pages()"
1973 Provide fault-injection capability for alloc_pages().
1979 Provides fault-injection capability to inject failures
1983 bool "Fault-injection capability for disk IO"
1986 Provide fault-injection capability for disk IO.
1989 bool "Fault-injection capability for faking disk interrupts"
1992 Provide fault-injection capability on end IO handling. This
2000 bool "Fault-injection capability for futexes"
2004 Provide fault-injection capability for futexes.
2007 bool "Debugfs entries for fault-injection capabilities"
2010 Enable configuration of fault-injection capabilities via debugfs.
2013 bool "Fault-injection capability for functions"
2016 Provide function-based fault-injection capability.
2017 This will allow you to override a specific function with a return
2018 with given return value. As a result, function caller will see
2023 bool "Fault-injection capability for MMC IO"
2026 Provide fault-injection capability for MMC IO.
2033 bool "Fault-injection capability for SunRPC"
2036 Provide fault-injection capability for SunRPC and
2040 bool "Configfs interface for fault-injection capabilities"
2044 This option allows configfs-based drivers to dynamically configure
2045 fault-injection via configfs. Each parameter for driver-specific
2046 fault-injection can be made visible as a configfs attribute in a
2051 bool "stacktrace filter for fault-injection capabilities"
2057 Provide stacktrace filter for fault-injection capabilities
2067 def_bool $(cc-option,-fsanitize-coverage=trace-pc)
2081 for coverage-guided fuzzing (randomized testing).
2087 For more details, see Documentation/dev-tools/kcov.rst.
2090 bool "Enable comparison operands collection by KCOV"
2092 depends on $(cc-option,-fsanitize-coverage=trace-cmp)
2107 filesystem fuzzing with AFL) then you will want to enable coverage
2108 for more specific subsets of files, and should say n here.
2115 KCOV uses preallocated per-cpu areas to collect coverage from
2128 Enable this to include the Dhrystone 2.1 benchmark. This test
2135 the kernel command line (when built-in), or from userspace (when
2136 built-in or modular.
2144 test_dhry.iterations=<n>
2148 echo <n> > /sys/module/test_dhry/parameters/iterations
2158 If unsure, say N.
2166 If you don't need it: say N
2171 Documentation/fault-injection/provoke-crashes.rst
2178 Enable to turn on cpumask tests, running at boot or module load time.
2181 to the KUnit documentation in Documentation/dev-tools/kunit/.
2183 If unsure, say N.
2190 Enable this to turn on 'list_sort()' function test. This test is
2194 If unsure, say N.
2200 Enable this to turn on min heap function tests. This test is
2204 If unsure, say N.
2207 tristate "Array-based sort test" if !KUNIT_ALL_TESTS
2211 This option enables the self-test function of 'sort()' at boot,
2214 If unsure, say N.
2220 Enable this to turn on 'do_div()' function test. This test is
2224 If unsure, say N.
2232 Enable this to turn on testing of the operation of the I/O iterator
2236 If unsure, say N.
2250 Say N if you are unsure.
2258 This option will enable testing the fprobe when the system boot.
2262 Say N if you are unsure.
2274 have to enable STACKTRACE as well.
2276 Say N if you are unsure.
2286 Say N if you are unsure.
2289 tristate "Red-Black tree test"
2296 tristate "Reed-Solomon library test"
2302 This option enables the self-test function of rslib at boot,
2305 If unsure, say N.
2318 Enable this option to build test module which validates per-cpu
2321 If unsure, say N.
2324 tristate "Perform an atomic64_t self-test"
2326 Enable this option to test the atomic64_t functions at boot or
2329 If unsure, say N.
2336 This is a one-shot self test that permutes through the
2338 N-disk array. Recovery is performed with the asynchronous
2342 If unsure, say N.
2365 Enable this option to test the bitmap functions at boot.
2367 If unsure, say N.
2378 Enable this option to test the maple tree code functions at boot, or
2379 when the module is loaded. Enable "Debug Maple Trees" will enable
2382 If unsure, say N.
2387 Enable this option to test the rhashtable functions at boot.
2389 If unsure, say N.
2398 Enable this option to test priority array manager on boot
2401 If unsure, say N.
2407 Enable this option to test the irq timings code on boot.
2409 If unsure, say N.
2422 If unsure, say N.
2431 no compiler warnings from C=1 sparse checker or -Wextra
2435 If unsure, say N.
2439 default n
2448 If unsure, say N.
2460 If unsure, say N.
2473 If unsure, say N.
2482 If unsure, say N.
2490 If unsure, say N.
2499 actual firmware-using device. The contents can be rechecked by
2502 If unsure, say N.
2512 If unsure, say N.
2519 Enable this option to test the bitfield functions at boot.
2527 to the KUnit documentation in Documentation/dev-tools/kunit/.
2529 If unsure, say N.
2536 Enable this option to test the checksum functions at boot.
2544 to the KUnit documentation in Documentation/dev-tools/kunit/.
2546 If unsure, say N.
2549 tristate "KUnit Test for integer hash functions" if !KUNIT_ALL_TESTS
2553 Enable this option to test the kernel's string (<linux/stringhash.h>), and
2554 integer (<linux/hash.h>) hash functions on boot.
2562 to the KUnit documentation in Documentation/dev-tools/kunit/.
2564 This is intended to help people writing architecture-specific
2565 optimized versions. If unsure, say N.
2575 to the KUnit documentation in Documentation/dev-tools/kunit/.
2577 If unsure, say N.
2587 to the KUnit documentation in Documentation/dev-tools/kunit/.
2589 If unsure, say N.
2592 tristate "KUnit Test for Kernel Linked-list structures" if !KUNIT_ALL_TESTS
2606 to the KUnit documentation in Documentation/dev-tools/kunit/.
2608 If unsure, say N.
2619 in Documentation/dev-tools/kunit/.
2621 If unsure, say N.
2631 to the KUnit documentation in Documentation/dev-tools/kunit/.
2633 If unsure, say N.
2643 to the KUnit documentation in Documentation/dev-tools/kunit/.
2645 If unsure, say N.
2655 to the KUnit documentation in Documentation/dev-tools/kunit/.
2657 If unsure, say N.
2667 to the KUnit documentation in Documentation/dev-tools/kunit/.
2669 If unsure, say N.
2678 to the KUnit documentation in Documentation/dev-tools/kunit/.
2680 If unsure, say N.
2689 to the KUnit documentation in Documentation/dev-tools/kunit/.
2691 If unsure, say N.
2713 to the KUnit documentation in Documentation/dev-tools/kunit/.
2715 If unsure, say N.
2726 to the KUnit documentation in Documentation/dev-tools/kunit/.
2728 If unsure, say N.
2735 Test if the kernel is zero-initializing stack variables and
2742 tristate "Test fortified str*() and mem*() function internals at runtime" if !KUNIT_ALL_TESTS
2758 If unsure, say N.
2775 Enable this option to test the kernel's siphash (<linux/siphash.h>) hash
2778 This is intended to help people writing architecture-specific
2779 optimized versions. If unsure, say N.
2787 If unsure, say N.
2795 If unsure, say N.
2802 pr_debugs in a 'do_debugging' function, then alters their
2803 enablements, calls the function, and compares counts.
2805 If unsure, say N.
2830 tools/testing/selftests/kmod/kmod.sh --help
2832 If unsure, say N.
2838 Test the kernel's ability to detect incorrect calls to
2839 virt_to_phys() done against the non-linear part of the
2842 If unsure, say N.
2845 tristate "Test memcat_p() helper function"
2850 If unsure, say N.
2854 default n
2864 make -C tools/testing/selftests TARGETS=livepatch run_tests
2868 tools/testing/selftests/livepatch/test-callbacks.sh
2869 tools/testing/selftests/livepatch/test-livepatch.sh
2870 tools/testing/selftests/livepatch/test-shadow-vars.sh
2872 If unsure, say N.
2876 default n
2879 Enable this option to test object aggregation manager on boot
2885 Test if the kernel is zero-initializing heap and page allocations.
2888 If unsure, say N.
2899 Doing so will allow you to run tools/testing/selftest/vm/hmm-tests.
2901 If unsure, say N.
2916 Enable this option to add /sys/kernel/debug/selftest_helpers/test_fpu
2918 for self-testing floating point control register setting in
2921 If unsure, say N.
2927 Enable this option to create a kernel module that will trigger
2933 If unsure, say N.
2949 memtest=0, mean disabled; -- default
2953 If you are unsure how to answer this question, answer N.
2958 bool "Microsoft Hyper-V driver testing"
2959 default n
2962 Select this option to enable Hyper-V vmbus testing.
2972 Enables rustc's `-Cdebug-assertions` codegen option.
2975 compilation on or off. This can be used to enable extra debugging
2981 If unsure, say N.
2988 Enables rustc's `-Coverflow-checks` codegen option.
2990 This flag allows you to control the behavior of runtime integer
2991 overflow. When overflow-checks are enabled, a Rust panic will occur
2999 bool "Allow unoptimized build-time assertions"
3012 If unsure, say N.
3023 please refer to the KUnit documentation in Documentation/dev-tools/kunit/.
3025 If unsure, say N.