[PATCH tip/core/rcu 0/15] General fixes
From: Paul E. McKenney
Date: Mon Jul 24 2017 - 17:44:39 EST
Hello!
This series contains general fixes:
1. Make cond_resched() provide RCU quiescent state, which finally
avoids degrading performance.
2. Use timer as backstop for NOCB deferred wakeups.
3. Simplify RCU Kconfig by driving TASKS_RCU directly off of PREEMPT.
4. Create reasonable API for do_exit() TASKS_RCU processing.
5. Add TPS() to event-traced strings.
6. Move rcu.h to new trivial-function style.
7. Add event tracing to ->gp_tasks update at GP start.
8. Add idle swait variants which don't contribute to load average,
courtesy of Luis R. Rodriguez.
9. Use idle versions of swait to make idle-hack clear, courtesy of
Luis R. Rodriguez.
10. Add TPS() protection for _rcu_barrier_trace strings.
11. Set disable_rcu_irq_enter on rcu_eqs_exit(), courtesy of
Masami Hiramatsu.
12. Add assertions verifying blocked-tasks list.
13. Make rcu_idle_enter() rely on callers disabling irqs, courtesy
of Peter Zijlstra.
14. Add warning to rcu_idle_enter() for irqs enabled.
15. Remove exports from rcu_idle_exit() and rcu_idle_enter().
Thanx, Paul
------------------------------------------------------------------------
include/linux/rcupdate.h | 13
include/linux/sched.h | 8
include/linux/swait.h | 55 +++
kernel/exit.c | 7
kernel/rcu/Kconfig | 3
kernel/rcu/rcu.h | 128 +------
kernel/rcu/rcutorture.c | 17
kernel/rcu/tree.c | 75 +---
kernel/rcu/tree.h | 2
kernel/rcu/tree_plugin.h | 211 +++++++-----
kernel/rcu/update.c | 18 -
kernel/sched/core.c | 1
tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 2
13 files changed, 276 insertions(+), 264 deletions(-)