Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / kernel / rcu / Kconfig.debug
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # RCU-related debugging configuration options
4 #
5
6 menu "RCU Debugging"
7
8 config PROVE_RCU
9         def_bool PROVE_LOCKING
10
11 config TORTURE_TEST
12         tristate
13         default n
14
15 config RCU_PERF_TEST
16         tristate "performance tests for RCU"
17         depends on DEBUG_KERNEL
18         select TORTURE_TEST
19         select SRCU
20         select TASKS_RCU
21         default n
22         help
23           This option provides a kernel module that runs performance
24           tests on the RCU infrastructure.  The kernel module may be built
25           after the fact on the running kernel to be tested, if desired.
26
27           Say Y here if you want RCU performance tests to be built into
28           the kernel.
29           Say M if you want the RCU performance tests to build as a module.
30           Say N if you are unsure.
31
32 config RCU_TORTURE_TEST
33         tristate "torture tests for RCU"
34         depends on DEBUG_KERNEL
35         select TORTURE_TEST
36         select SRCU
37         select TASKS_RCU
38         default n
39         help
40           This option provides a kernel module that runs torture tests
41           on the RCU infrastructure.  The kernel module may be built
42           after the fact on the running kernel to be tested, if desired.
43
44           Say Y here if you want RCU torture tests to be built into
45           the kernel.
46           Say M if you want the RCU torture tests to build as a module.
47           Say N if you are unsure.
48
49 config RCU_CPU_STALL_TIMEOUT
50         int "RCU CPU stall timeout in seconds"
51         depends on RCU_STALL_COMMON
52         range 3 300
53         default 21
54         help
55           If a given RCU grace period extends more than the specified
56           number of seconds, a CPU stall warning is printed.  If the
57           RCU grace period persists, additional CPU stall warnings are
58           printed at more widely spaced intervals.
59
60 config RCU_TRACE
61         bool "Enable tracing for RCU"
62         depends on DEBUG_KERNEL
63         default y if TREE_RCU
64         select TRACE_CLOCK
65         help
66           This option enables additional tracepoints for ftrace-style
67           event tracing.
68
69           Say Y here if you want to enable RCU tracing
70           Say N if you are unsure.
71
72 config RCU_EQS_DEBUG
73         bool "Provide debugging asserts for adding NO_HZ support to an arch"
74         depends on DEBUG_KERNEL
75         help
76           This option provides consistency checks in RCU's handling of
77           NO_HZ.  These checks have proven quite helpful in detecting
78           bugs in arch-specific NO_HZ code.
79
80           Say N here if you need ultimate kernel/user switch latencies
81           Say Y if you are unsure
82
83 endmenu # "RCU Debugging"