Skip to content

Forward-progress changes for v4.20/v5.0

Paul E. McKenney lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest0 of 10 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 10 patches the cover letter announces are in this archive.

Reviews trailers per patch

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

Read the v1 thread

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

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