Grace-period fixes for v4.19
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest22 patches 22 repliesIn review
Patches in v1 No applies recorded yet
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH tip/core/rcu 0/22] Grace-period fixes for v4.19
Hello!
This series includes grace-period-related fixes that suppress false-positive warnings and add forward-progress fixes that would otherwise have resulted in grace-period hangs when the failsafes were removed. The reason for wanting to remove the failsafes is that they result in lock contention, which needs to be reduced in preparation for consolidation of the three flavors of RCU into one flavor to rule them all.
1. Clean up handling of tasks blocked across full-rcu_node offline.
2. Fix an obsolete ->qsmaskinit comment.
3. Make rcu_init_new_rnp() stop upon already-set bit.
4. Make rcu_report_unblock_qs_rnp() warn on violated preconditions.
5. Fix typo and add additional debug in code warning of task
blocked on the current grace period before it has started.
6. Replace smp_wmb() with smp_store_release() for stall check
in order to improve readability (no change in ordering).
7. Prevent useless FQS scan after all CPUs have checked in.
8. Suppress false-positive offline-CPU lockdep-RCU splat.
9. Suppress false-positive preempted-task splats.
10. Suppress more involved false-positive preempted-task splats.
11. Suppress false-positive splats from mid-init task resume.
12. Fix grace-period hangs from mid-init task resume. (Well, they
would be hangs without the failsafes, anyway.)
13. Fix grace-period hangs due to race with CPU offline. (Again,
they would be hangs without the failsafes.)
14. Add RCU-preempt check for waiting on newly onlined CPU.
15. Move grace-period pre-init delay after pre-init.
16. Remove failsafe check for lost quiescent state.
17. Change units of onoff_interval to jiffies in order to allow more
intensive testing of CPU-hotplug interactions with RCU.
18. Remove CPU-hotplug failsafe from force-quiescent-state code path.
19. Add up-tree information to dump_blkd_tasks() diagnostics.
20. Add CPU online/offline state to dump_blkd_tasks().
21. Record ->gp_state for both phases of grace-period initialization.
22. Add diagnostics for offline CPUs failing to report QS.
Thanx, Paul
------------------------------------------------------------------------
Documentation/admin-guide/kernel-parameters.txt | 4 include/trace/events/rcu.h | 10 kernel/rcu/rcutorture.c | 4 kernel/rcu/tree.c | 202 ++++++---- kernel/rcu/tree.h | 30 + kernel/rcu/tree_plugin.h | 51 +- tools/testing/selftests/rcutorture/configs/rcu/TREE03.boot | 4 tools/testing/selftests/rcutorture/configs/rcu/ver_functions.sh | 2 8 files changed, 203 insertions(+), 104 deletions(-)