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