[PATCH tip/core/rcu 0/10] Forward-progress changes for v4.20/v5.0

From: Paul E. McKenney
Date: Wed Aug 29 2018 - 19:00:46 EST


Hello!

This series includes changes that improve RCU's forward-progress
guarantees for normal grace periods, with a few stray RCU-consolidation
cleanups thrown in for good measure.

1. Make need_resched() respond to urgent RCU-QS needs.

2. Provide improved interrupt-from-idle check in rcu_check_callbacks().

3. Make rcutorture dump out the reader protection sequence when
an RCU failures or close calls occurs.

4. Motivate Tiny RCU forward progress.

5. Eliminate ->rcu_qs_ctr from the rcu_dynticks structure on account
of its no longer being used. And let that be a lesson to the
rest of that structure's fields!!!

6. Provide functions for determining if call_rcu() has been invoked
for debugging purposes by the users of call_rcu().

7. Compute jiffies_till_sched_qs from other kernel parameters,
because one size simply does not fit all.

8. More aggressively enlist scheduler aid for nohz_full CPUs.
After all, they might never see a scheduler-clock interrupt.

9. Avoid resched_cpu() when rescheduling the current CPU.

10. Convert "1UL << x" to "BIT(x)" to save a few characters.

Thanx, Paul

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

Documentation/admin-guide/kernel-parameters.txt | 9 +
include/linux/rcupdate.h | 40 +++++
include/trace/events/rcu.h | 5
kernel/rcu/rcu.h | 5
kernel/rcu/rcutorture.c | 119 +++++++++++++---
kernel/rcu/tiny.c | 6
kernel/rcu/tree.c | 171 ++++++++++++++----------
kernel/rcu/tree.h | 6
kernel/rcu/tree_exp.h | 17 +-
kernel/rcu/tree_plugin.h | 14 +
10 files changed, 280 insertions(+), 112 deletions(-)