Expedited grace-period improvements for 4.4
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest18 patches 43 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/18 | rcu: Use rsp->expedited_wq instead of sync_rcu_preempt_exp_wqkernel/ kernel/ | +3 | 0 replies | |
| 2/18 | rcu: Move rcu_report_exp_rnp() to allow consolidationkernel/ kernel/ | +66 | 22 replies | |
| 3/18 | rcu: Consolidate tree setup for synchronize_rcu_expedited()kernel/ kernel/ kernel/ | +115 | 0 replies | |
| 4/18 | rcu: Use single-stage IPI algorithm for RCU expedited grace periodinclude/ kernel/ kernel/ | +311 | 9 replies | |
| 5/18 | rcu: Move synchronize_sched_expedited() to combining treekernel/ kernel/ | +82 | 0 replies | |
| 6/18 | rcu: Rename qs_pending to core_needs_qskernel/ kernel/ kernel/ +1 more | +12 | 0 replies | |
| 7/18 | rcu: Invert passed_quiesce and rename to cpu_no_qsDocumentation/ kernel/ kernel/ +2 more | +33 | 0 replies | |
| 8/18 | rcu: Make ->cpu_no_qs be a union for aggregate ORkernel/ kernel/ kernel/ +1 more | +28 | 0 replies | |
| 9/18 | rcu: Switch synchronize_sched_expedited() to IPIkernel/ kernel/ | +20 | 2 replies | |
| 10/18 | rcu: Stop silencing lockdep false positive for expedited grace periodskernel/ kernel/ | +2 | 0 replies | |
| 11/18 | rcu: Stop excluding CPU hotplug in synchronize_sched_expedited()kernel/ | +1 | 0 replies | |
| 12/18 | cpu: Remove try_get_online_cpus()include/ kernel/ | +0 | 0 replies | |
| 13/18 | rcu: Prepare for consolidating expedited CPU selectionkernel/ | +0 | 0 replies | |
| 14/18 | rcu: Consolidate expedited CPU selectionkernel/ kernel/ | +5 | 0 replies | |
| 15/18 | rcu: Add online/offline info to expedited stall warning messagekernel/ kernel/ kernel/ | +40 | 0 replies | |
| 16/18 | rcu: Add tasks to expedited stall-warning messageskernel/ | +1 | 0 replies | |
| 17/18 | rcu: Enable stall warnings for synchronize_rcu_expedited()kernel/ | +1 | 0 replies | |
| 18/18 | rcu: Better hotplug handling for synchronize_sched_expedited()kernel/ | +62 | 10 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH tip/core/rcu 0/18] Expedited grace-period improvements for 4.4
Hello!
This commit continues the effort to reduce the OS jitter from RCU's expedited grace-period primitives, while also loosening the coupling between CPU hotplug and RCU's expedited grace-period primitives:
1. Use rsp->expedited_wq instead of sync_rcu_preempt_exp_wq to
enable later code consolidation.
2. Move rcu_report_exp_rnp() to allow later code consolidation.
3. Consolidate combining-tree bitmaks setup for the initialization
portion of synchronize_rcu_expedited().
4. Use single-stage IPI algorithm for preemptible-RCU expedited
grace periods.
5. Make synchronize_sched_expedited() use the combining tree
to reduce memory contention when waiting for quiescent states.
6. Rename ->qs_pending to ->core_needs_qs to better match this
field's use.
7. Invert ->passed_quiesce and rename to ->cpu_no_qs in order to
enable later aggregate-OR for requests for normal and expedited grace periods.
8. Make ->cpu_no_qs be a union for aggregate OR.
9. Switch synchronize_sched_expedited() from stop-CPUs to IPI.
10. Stop silencing lockdep false positive for expedited grace periods,
given that synchronize_rcu_expedited() no longer invokes synchronize_sched_expedited(), eliminating the apparent deadlock. (Just for the record, there never was a real deadlock.)
11. Stop excluding CPU hotplug in synchronize_sched_expedited().
12. Remove try_get_online_cpus(), which is now no longer used.
13. Bring sync_sched_exp_select_cpus() into alignment with
sync_rcu_exp_select_cpus() as a first step towards consolidating them into one function.
14. Consolidate expedited CPU selection, now that #13 enabled it.
15. Add online/offline information to expedited stall warning message.
16. Dump blocking tasks in expedited stall-warning messages.
17. Enable stall warnings for synchronize_rcu_expedited().
18. Improve synchronize_sched_expedited() CPU-hotplug handling.
Thanx, Paul
------------------------------------------------------------------------
b/Documentation/RCU/trace.txt | 32 +- b/include/linux/cpu.h | 2 b/include/linux/sched.h | 10 b/kernel/cpu.c | 13 b/kernel/rcu/tree.c | 561 ++++++++++++++++++++++++++++++---------- b/kernel/rcu/tree.h | 50 ++- b/kernel/rcu/tree_plugin.h | 579 ++++++++++++++++++++++-------------------- b/kernel/rcu/tree_trace.c | 10 8 files changed, 782 insertions(+), 475 deletions(-)