[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(-)