v2 Improvements to RT response on big systems and expedited functions
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest23 patches 0 repliesNew
Patches in v1 No applies recorded yet
Reviews trailers per patch
19 of 23 patches have a Reviewed-by or Acked-by.
| Patch | Josh Triplett | Dimitri Sivanich | Sasha Levin |
|---|---|---|---|
| 1/23 | R-b | ||
| 2/23 | |||
| 3/23 | R-b | ||
| 4/23 | R-b | ||
| 5/23 | R-b | ||
| 6/23 | R-b | ||
| 7/23 | R-b | ||
| 8/23 | R-b | T-b | |
| 9/23 | R-b | T-b | |
| 10/23 | |||
| 11/23 | R-b | ||
| 12/23 | R-b | ||
| 13/23 | R-b | ||
| 14/23 | R-b | ||
| 15/23 | R-b | ||
| 16/23 | R-b | ||
| 17/23 | R-b | ||
| 18/23 | R-b | ||
| 19/23 | R-b | ||
| 20/23 | R-b | ||
| 21/23 | R-b | ||
| 22/23 | |||
| 23/23 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.
Cover letter [PATCH tip/core/rcu 0/23] v2 Improvements to RT response on big systems and expedited functions
Hello!
This patch series contains additional improvements to latency for large systems (beyond those in 3.6), along with improvements to synchronize_rcu_expedited(). It also fixes one race introduced by the latency improvements and another that was there to start with (but made more probable by the latency improvements). These are in a single series due to conflicts that would otherwise occur. The individual patches are as follows:
1-6. Move RCU grace-period initialization and cleanup into a kthread:
1. Move RCU grace-period initialization into kthread.
2. Prevent initialization-time quiescent-state race.
3. Allow RCU grace-period initialization to be preempted.
4. Move RCU grace-period cleanup into kthread.
5. Allow RCU grace-period cleanup to be preempted.
6. Break up rcu_gp_kthread() into subfunctions.
7. Prevent offline CPUs from executing RCU core code.
8. Provide an OOM handler to allow lazy callbacks to be motivated
under memory pressure.
9. Segregate rcu_state fields to improve cache locality
(Courtesy of Dimitri Sivanich).
10-13. Move RCU grace-period forcing into a kthread.
10. Move quiescent-state forcing into kthread.
11. Allow RCU quiescent-state forcing to be preempted.
12. Adjust debugfs tracing for kthread-based quiescent-state
forcing.
13. Prevent force_quiescent_state() memory contention.
14. Control grace-period duration from sysfs.
15. Make rcutree module parameters visible in sysfs.
16. Fix day-zero grace-period initialization/cleanup race.
17. Add random PROVE_RCU_DELAY to provoke initalization races.
18. Adjust for unconditional ->completed assignment.
19. Eliminate signed overflow in synchronize_rcu_expedited().
20. Reduce synchronize_rcu_expedited() latency.
21. Simplify quiescent-state detection.
22. Correctly handle reconfiguring to larger leaf fanout in the
case of CONFIG_RCU_FANOUT_EXACT=y. (New in this posting.)
23. Shrink RCU when there is a smaller number of CPUs than the
kernel was built for (NR_CPUS < nr_cpu_ids) even when the leaf fanout did not change. (New in this posting.)
Changes from v1 (https://lkml.org/lkml/2012/8/30/171):
o Incorporated feedback from that posting (thank you Peter, Josh,
and Lai!). This involves some serious rebasing, so the patch numbers do not match v1.
o Added patches #22 and #23 above.
Thanx, Paul
b/Documentation/RCU/trace.txt | 43 - b/Documentation/kernel-parameters.txt | 11 b/kernel/rcutree.c | 970 ++++++++++++++++++---------------- b/kernel/rcutree.h | 28 b/kernel/rcutree_plugin.h | 131 +++- b/kernel/rcutree_trace.c | 15 6 files changed, 680 insertions(+), 518 deletions(-)