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.
Unified · Split
| @@ -4490,10 +4490,6 @@ void lockdep_rcu_suspicious(const char *file, const int line, const char *s) · 4489 unmodified lines | ||
| 4490 | 4490 | { |
| 4491 | 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 | 4493 | /* Note: the following can be executed concurrently, so be careful. */ |
| 4498 | 4494 | pr_warn("\n"); |
| 4499 | 4495 | pr_warn("=============================\n"); |
| @@ -79,9 +79,7 @@ static void __init rcu_bootup_announce_oddness(void) · 78 unmodified lines | ||
| 79 | 79 | pr_info("\tHierarchical RCU autobalancing is disabled.\n"); |
| 80 | 80 | if (IS_ENABLED(CONFIG_RCU_FAST_NO_HZ)) |
| 81 | 81 | pr_info("\tRCU dyntick-idle grace-period acceleration is enabled.\n"); |
| 82 | − if (IS_ENABLED(CONFIG_PROVE_RCU_REPEATEDLY)) | |
| 83 | − pr_info("\tRCU lockdep checking is permanently enabled.\n"); | |
| 84 | − else if (IS_ENABLED(CONFIG_PROVE_RCU)) | |
| 82 | + if (IS_ENABLED(CONFIG_PROVE_RCU)) | |
| 85 | 83 | pr_info("\tRCU lockdep checking is enabled.\n"); |
| 86 | 84 | if (RCU_NUM_LVLS >= 4) |
| 87 | 85 | pr_info("\tFour(or more)-level hierarchy is enabled.\n"); |
| @@ -1306,20 +1306,6 @@ menu "RCU Debugging" · 1305 unmodified lines | ||
| 1306 | 1306 | config PROVE_RCU |
| 1307 | 1307 | def_bool PROVE_LOCKING |
| 1308 | 1308 | |
| 1309 | −config 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 | − | |
| 1323 | 1309 | config SPARSE_RCU_POINTER |
| 1324 | 1310 | bool "RCU debugging: sparse-based checks for pointer usage" |
| 1325 | 1311 | default n |
| @@ -8,7 +8,6 @@ CONFIG_NO_HZ_IDLE=n · 7 unmodified lines | ||
| 8 | 8 | CONFIG_NO_HZ_FULL=n |
| 9 | 9 | CONFIG_RCU_TRACE=y |
| 10 | 10 | CONFIG_PROVE_LOCKING=y |
| 11 | −CONFIG_PROVE_RCU_REPEATEDLY=y | |
| 12 | 11 | #CHECK#CONFIG_PROVE_RCU=y |
| 13 | 12 | CONFIG_DEBUG_LOCK_ALLOC=y |
| 14 | 13 | CONFIG_DEBUG_OBJECTS=y |
| @@ -13,7 +13,6 @@ CONFIG_NO_HZ_FULL -- Do two, one with partial CPU enablement. · 12 unmodified lines | ||
| 13 | 13 | CONFIG_PREEMPT -- Do half. (First three and #8.) |
| 14 | 14 | CONFIG_PROVE_LOCKING -- Do several, covering CONFIG_DEBUG_LOCK_ALLOC=y and not. |
| 15 | 15 | CONFIG_PROVE_RCU -- Hardwired to CONFIG_PROVE_LOCKING. |
| 16 | −CONFIG_PROVE_RCU_REPEATEDLY -- Do one. | |
| 17 | 16 | CONFIG_RCU_BOOST -- one of PREEMPT_RCU. |
| 18 | 17 | CONFIG_RCU_FANOUT -- Cover hierarchy, but overlap with others. |
| 19 | 18 | CONFIG_RCU_FANOUT_LEAF -- Do one non-default. |