[PATCH tip/core/rcu 0/12] NO_HZ fixes for v5.5
From: Paul E. McKenney
Date: Wed Oct 02 2019 - 21:38:38 EST
Hello!
This series contains various fixes for NO_HZ and NO_HZ_FULL problems,
including re-enabling the tick during long-term kernel-mode execution.
1. Add TICK_DEP_BIT_RCU (which allows RCU-specific tick re-enabling),
courtesy of Frederic Weisbecker.
2. Export tick start/stop functions for rcutorture.
3. Force on tick when invoking lots of callbacks.
4. Force on tick for rcutorture readers and callback flooders.
5. Provide RCU quiescent state in multi_cpu_stop().
6. Make CPU-hotplug removal operations enable tick.
7. Use {READ,WRITE)_ONCE() for multi_cpu_stop() ->state.
8. Force tick on for nohz_full CPUs not reaching quiescent states.
9. Force nohz_full tick on upon irq enter instead of exit.
10. Reset CPU hints when reporting a quiescent state, courtesy of
Joel Fernandes.
11. Confine ->core_needs_qs accesses to the corresponding CPU.
12. Make kernel-mode nohz_full CPUs invoke the RCU core processing.
Thanx, Paul
------------------------------------------------------------------------
include/linux/rcutree.h | 1
include/linux/tick.h | 7 ++
include/trace/events/timer.h | 3 -
kernel/rcu/rcutorture.c | 20 +++++---
kernel/rcu/tree.c | 105 ++++++++++++++++++++++++++++++-------------
kernel/rcu/tree.h | 1
kernel/stop_machine.c | 7 +-
kernel/time/tick-sched.c | 11 ++++
8 files changed, 114 insertions(+), 41 deletions(-)