rcu: Move RCU debug Kconfig options to kernel/rcu
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 17 May 2017 16:19:44 +0000 (09:19 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Fri, 9 Jun 2017 01:52:44 +0000 (18:52 -0700)
RCU's debugging Kconfig options are in the unintuitive location
lib/Kconfig.debug, and there are enough of them that it would be good for
them to be more centralized.  This commit therefore extracts RCU's Kconfig
options from init/Kconfig into a new kernel/rcu/Kconfig.debug file.

Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/Kconfig.debug [new file with mode: 0644]
lib/Kconfig.debug

diff --git a/kernel/rcu/Kconfig.debug b/kernel/rcu/Kconfig.debug
new file mode 100644 (file)
index 0000000..0ec7d1d
--- /dev/null
@@ -0,0 +1,82 @@
+#
+# RCU-related debugging configuration options
+#
+
+menu "RCU Debugging"
+
+config PROVE_RCU
+       def_bool PROVE_LOCKING
+
+config TORTURE_TEST
+       tristate
+       default n
+
+config RCU_PERF_TEST
+       tristate "performance tests for RCU"
+       depends on DEBUG_KERNEL
+       select TORTURE_TEST
+       select SRCU
+       select TASKS_RCU
+       default n
+       help
+         This option provides a kernel module that runs performance
+         tests on the RCU infrastructure.  The kernel module may be built
+         after the fact on the running kernel to be tested, if desired.
+
+         Say Y here if you want RCU performance tests to be built into
+         the kernel.
+         Say M if you want the RCU performance tests to build as a module.
+         Say N if you are unsure.
+
+config RCU_TORTURE_TEST
+       tristate "torture tests for RCU"
+       depends on DEBUG_KERNEL
+       select TORTURE_TEST
+       select SRCU
+       select TASKS_RCU
+       default n
+       help
+         This option provides a kernel module that runs torture tests
+         on the RCU infrastructure.  The kernel module may be built
+         after the fact on the running kernel to be tested, if desired.
+
+         Say Y here if you want RCU torture tests to be built into
+         the kernel.
+         Say M if you want the RCU torture tests to build as a module.
+         Say N if you are unsure.
+
+config RCU_CPU_STALL_TIMEOUT
+       int "RCU CPU stall timeout in seconds"
+       depends on RCU_STALL_COMMON
+       range 3 300
+       default 21
+       help
+         If a given RCU grace period extends more than the specified
+         number of seconds, a CPU stall warning is printed.  If the
+         RCU grace period persists, additional CPU stall warnings are
+         printed at more widely spaced intervals.
+
+config RCU_TRACE
+       bool "Enable tracing for RCU"
+       depends on DEBUG_KERNEL
+       default y if TREE_RCU
+       select TRACE_CLOCK
+       help
+         This option enables additional tracepoints for ftrace-style
+         event tracing.
+
+         Say Y here if you want to enable RCU tracing
+         Say N if you are unsure.
+
+config RCU_EQS_DEBUG
+       bool "Provide debugging asserts for adding NO_HZ support to an arch"
+       depends on DEBUG_KERNEL
+       help
+         This option provides consistency checks in RCU's handling of
+         NO_HZ.  These checks have proven quite helpful in detecting
+         bugs in arch-specific NO_HZ code.
+
+         Say N here if you need ultimate kernel/user switch latencies
+         Say Y if you are unsure
+
+endmenu # "RCU Debugging"
index 8c10b5a97b9e0687a7353c556d793bc768126745..a7a751a75cfd1e953093e065f58f07c1f5f83e48 100644 (file)
@@ -1301,84 +1301,7 @@ config DEBUG_CREDENTIALS
 
          If unsure, say N.
 
-menu "RCU Debugging"
-
-config PROVE_RCU
-       def_bool PROVE_LOCKING
-
-config TORTURE_TEST
-       tristate
-       default n
-
-config RCU_PERF_TEST
-       tristate "performance tests for RCU"
-       depends on DEBUG_KERNEL
-       select TORTURE_TEST
-       select SRCU
-       select TASKS_RCU
-       default n
-       help
-         This option provides a kernel module that runs performance
-         tests on the RCU infrastructure.  The kernel module may be built
-         after the fact on the running kernel to be tested, if desired.
-
-         Say Y here if you want RCU performance tests to be built into
-         the kernel.
-         Say M if you want the RCU performance tests to build as a module.
-         Say N if you are unsure.
-
-config RCU_TORTURE_TEST
-       tristate "torture tests for RCU"
-       depends on DEBUG_KERNEL
-       select TORTURE_TEST
-       select SRCU
-       select TASKS_RCU
-       default n
-       help
-         This option provides a kernel module that runs torture tests
-         on the RCU infrastructure.  The kernel module may be built
-         after the fact on the running kernel to be tested, if desired.
-
-         Say Y here if you want RCU torture tests to be built into
-         the kernel.
-         Say M if you want the RCU torture tests to build as a module.
-         Say N if you are unsure.
-
-config RCU_CPU_STALL_TIMEOUT
-       int "RCU CPU stall timeout in seconds"
-       depends on RCU_STALL_COMMON
-       range 3 300
-       default 21
-       help
-         If a given RCU grace period extends more than the specified
-         number of seconds, a CPU stall warning is printed.  If the
-         RCU grace period persists, additional CPU stall warnings are
-         printed at more widely spaced intervals.
-
-config RCU_TRACE
-       bool "Enable tracing for RCU"
-       depends on DEBUG_KERNEL
-       default y if TREE_RCU
-       select TRACE_CLOCK
-       help
-         This option enables additional tracepoints for ftrace-style
-         event tracing.
-
-         Say Y here if you want to enable RCU tracing
-         Say N if you are unsure.
-
-config RCU_EQS_DEBUG
-       bool "Provide debugging asserts for adding NO_HZ support to an arch"
-       depends on DEBUG_KERNEL
-       help
-         This option provides consistency checks in RCU's handling of
-         NO_HZ.  These checks have proven quite helpful in detecting
-         bugs in arch-specific NO_HZ code.
-
-         Say N here if you need ultimate kernel/user switch latencies
-         Say Y if you are unsure
-
-endmenu # "RCU Debugging"
+source "kernel/rcu/Kconfig.debug"
 
 config DEBUG_WQ_FORCE_RR_CPU
        bool "Force round-robin CPU selection for unbound work items"