[PATCH tip/core/rcu 0/10] Expedited grace-period updates for v5.6

From: Paul E. McKenney
Date: Mon Dec 09 2019 - 23:01:25 EST


Hello!

This series provides updates to RCU's expedited grace periods:

1. Use *_ONCE() to protect lockless ->expmask accesses.

2. Avoid modifying mask_ofl_ipi in sync_rcu_exp_select_node_cpus(),
courtesy of Boqun Feng.

3. Fix data-race due to atomic_t copy-by-value, courtesy of
Marco Elver.

4. Lookup instead of bit-twiddling in sync_rcu_exp_select_node_cpus().

5. Fix missed wakeup of exp_wq waiters, courtesy of Neeraj Upadhyay.

6. Allow only one expedited GP to run concurrently with wakeups,
courtesy of Neeraj Upadhyay.

7. Rename sync_rcu_preempt_exp_done() to sync_rcu_exp_done().

8. Update tree_exp.h function-header comments.

9. Replace synchronize_sched_expedited_wait() "_sched" with "_rcu".

10. Enable tick for nohz_full CPUs slow to provide expedited QS.

Thanx, Paul

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

include/linux/tick.h | 5 +
include/trace/events/rcu.h | 4 -
kernel/rcu/tree.c | 11 +--
kernel/rcu/tree.h | 1
kernel/rcu/tree_exp.h | 149 +++++++++++++++++++++++++++------------------
kernel/rcu/tree_plugin.h | 4 -
6 files changed, 107 insertions(+), 67 deletions(-)