Skip to content

RFC Expedited grace periods encouraging normal ones

Paul E. McKenney lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest5 patches 51 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5rcu: Prepare for expedited GP driving normal GPkernel/rcu/tree.c+54 -540 replies
2/5rcu: Short-circuit normal GPs via expedited GPskernel/rcu/tree.c kernel/rcu/tree.h+38 -812 replies
3/5rcutorture: Ensure that normal GPs advance without expedited GPskernel/rcu/rcutorture.c+21 -10 replies
4/5rcu: Wake grace-period kthread at end of expedited grace periodkernel/rcu/tree.c+2 -00 replies
5/5rcu: Limit expedited helping to every 10 ms or every 4th GPkernel/rcu/tree.c+12 -35 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH RFC tip/core/rcu 0/5] Expedited grace periods encouraging normal ones

Hello!

This series contains some highly experimental patches that allow normal grace periods to take advantage of the work done by concurrent expedited grace periods. This can reduce the overhead incurred by normal grace periods by eliminating the need for force-quiescent-state scans that would otherwise have happened after the expedited grace period completed. It is not clear whether this is a useful tradeoff. Nevertheless, this series contains the following patches:

1. Pure code-movement commit that allows the RCU grace-period kthread
to access the expedited grace period's state.

2. Use snapshot technique to allow a normal grace period to complete
after an expedited grace period has completed.

3. Changes to rcutorture to fully test normal grace periods. Current
tests would fail to notice some types of forward-progress bugs due to the presence of expedited grace periods in the common case.

4. Make expedited grace periods awaken any concurrent normal grace
periods.

5. Throttle the awakening to avoid excessive CPU consumption by the
normal grace-period kthread.

A separate series will cover changes to the expedited grace-period machinery itself.

Thanx, Paul

------------------------------------------------------------------------

 b/kernel/rcu/rcutorture.c |   22 +++++-
 b/kernel/rcu/tree.c       |  165 +++++++++++++++++++++++++++-------------------
 b/kernel/rcu/tree.h       |    6 +
 3 files changed, 127 insertions(+), 66 deletions(-)