History

rcu: Remove the now-obsolete PROVE_RCU_REPEATEDLY Kconfig option

The PROVE_RCU_REPEATEDLY Kconfig option was initially added due to the volume of messages from PROVE_RCU: Doing just one per boot would have required excessive numbers of boots to locate them all. However, PROVE_RCU messages are now relatively rare, so there is no longer any reason to need more than one such message per boot. This commit therefore removes the PROVE_RCU_REPEATEDLY Kconfig option.

Paul E. McKenney committed 9 years ago

Commit c4a09ff1 parent 4e4bea75 files · +1 −23Browse files

Unified · Split

5 files
  1. kernel/locking/lockdep.c +0 −4
  2. kernel/rcu/tree_plugin.h +1 −3
  3. lib/Kconfig.debug +0 −14
  4. tools/testing/selftests/rcutorture/configs/rcu/TINY02 +0 −1
  5. tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt +0 −1
kernel/locking/lockdep.c+0−4
@@ -4490,10 +4490,6 @@ void lockdep_rcu_suspicious(const char *file, const int line, const char *s) · 4489 unmodified lines
4490{4490{
4491 struct task_struct *curr = current;4491 struct task_struct *curr = current;
4492 4492
4493#ifndef CONFIG_PROVE_RCU_REPEATEDLY
4494 if (!debug_locks_off())
4495 return;
4496#endif /* #ifdef CONFIG_PROVE_RCU_REPEATEDLY */
4497 /* Note: the following can be executed concurrently, so be careful. */4493 /* Note: the following can be executed concurrently, so be careful. */
4498 pr_warn("\n");4494 pr_warn("\n");
4499 pr_warn("=============================\n");4495 pr_warn("=============================\n");
kernel/rcu/tree_plugin.h+1−3
@@ -79,9 +79,7 @@ static void __init rcu_bootup_announce_oddness(void) · 78 unmodified lines
79 pr_info("\tHierarchical RCU autobalancing is disabled.\n");79 pr_info("\tHierarchical RCU autobalancing is disabled.\n");
80 if (IS_ENABLED(CONFIG_RCU_FAST_NO_HZ))80 if (IS_ENABLED(CONFIG_RCU_FAST_NO_HZ))
81 pr_info("\tRCU dyntick-idle grace-period acceleration is enabled.\n");81 pr_info("\tRCU dyntick-idle grace-period acceleration is enabled.\n");
82 if (IS_ENABLED(CONFIG_PROVE_RCU_REPEATEDLY))82 if (IS_ENABLED(CONFIG_PROVE_RCU))
83 pr_info("\tRCU lockdep checking is permanently enabled.\n");
84 else if (IS_ENABLED(CONFIG_PROVE_RCU))
85 pr_info("\tRCU lockdep checking is enabled.\n");83 pr_info("\tRCU lockdep checking is enabled.\n");
86 if (RCU_NUM_LVLS >= 4)84 if (RCU_NUM_LVLS >= 4)
87 pr_info("\tFour(or more)-level hierarchy is enabled.\n");85 pr_info("\tFour(or more)-level hierarchy is enabled.\n");
lib/Kconfig.debug+0−14
@@ -1306,20 +1306,6 @@ menu "RCU Debugging" · 1305 unmodified lines
1306config PROVE_RCU1306config PROVE_RCU
1307 def_bool PROVE_LOCKING1307 def_bool PROVE_LOCKING
1308 1308
1309config PROVE_RCU_REPEATEDLY
1310 bool "RCU debugging: don't disable PROVE_RCU on first splat"
1311 depends on PROVE_RCU
1312 default n
1313 help
1314 By itself, PROVE_RCU will disable checking upon issuing the
1315 first warning (or "splat"). This feature prevents such
1316 disabling, allowing multiple RCU-lockdep warnings to be printed
1317 on a single reboot.
1318
1319 Say Y to allow multiple RCU-lockdep warnings per boot.
1320
1321 Say N if you are unsure.
1322
1323config SPARSE_RCU_POINTER1309config SPARSE_RCU_POINTER
1324 bool "RCU debugging: sparse-based checks for pointer usage"1310 bool "RCU debugging: sparse-based checks for pointer usage"
1325 default n1311 default n
tools/testing/selftests/rcutorture/configs/rcu/TINY02+0−1
@@ -8,7 +8,6 @@ CONFIG_NO_HZ_IDLE=n · 7 unmodified lines
8CONFIG_NO_HZ_FULL=n8CONFIG_NO_HZ_FULL=n
9CONFIG_RCU_TRACE=y9CONFIG_RCU_TRACE=y
10CONFIG_PROVE_LOCKING=y10CONFIG_PROVE_LOCKING=y
11CONFIG_PROVE_RCU_REPEATEDLY=y
12#CHECK#CONFIG_PROVE_RCU=y11#CHECK#CONFIG_PROVE_RCU=y
13CONFIG_DEBUG_LOCK_ALLOC=y12CONFIG_DEBUG_LOCK_ALLOC=y
14CONFIG_DEBUG_OBJECTS=y13CONFIG_DEBUG_OBJECTS=y
tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt+0−1
@@ -13,7 +13,6 @@ CONFIG_NO_HZ_FULL -- Do two, one with partial CPU enablement. · 12 unmodified lines
13CONFIG_PREEMPT -- Do half. (First three and #8.)13CONFIG_PREEMPT -- Do half. (First three and #8.)
14CONFIG_PROVE_LOCKING -- Do several, covering CONFIG_DEBUG_LOCK_ALLOC=y and not.14CONFIG_PROVE_LOCKING -- Do several, covering CONFIG_DEBUG_LOCK_ALLOC=y and not.
15CONFIG_PROVE_RCU -- Hardwired to CONFIG_PROVE_LOCKING.15CONFIG_PROVE_RCU -- Hardwired to CONFIG_PROVE_LOCKING.
16CONFIG_PROVE_RCU_REPEATEDLY -- Do one.
17CONFIG_RCU_BOOST -- one of PREEMPT_RCU.16CONFIG_RCU_BOOST -- one of PREEMPT_RCU.
18CONFIG_RCU_FANOUT -- Cover hierarchy, but overlap with others.17CONFIG_RCU_FANOUT -- Cover hierarchy, but overlap with others.
19CONFIG_RCU_FANOUT_LEAF -- Do one non-default.18CONFIG_RCU_FANOUT_LEAF -- Do one non-default.