[PATCH tip/core/rcu 0/22] Miscellaneous fixes for v4.18

From: Paul E. McKenney
Date: Sun Apr 22 2018 - 22:30:56 EST


Hello!

This series provides miscellaneous fixes:

1. Make non-production PREEMPT cond_resched() help Tasks RCU.

2. Inline rcu_preempt_do_callback() into its sole caller, courtesy
of Byungchul Park.

3. Don't allocate rcu_nocb_mask if no one needs it, for example, in
the case where there are no no-CBs CPUs.

4. Call wake_nocb_leader_defer() with 'FORCE' when nocb_q_count is
high, courtesy of Byungchul Park.

5. Remove deprecated RCU debugfs tracing code, courtesy of Byungchul
Park.

6. Rename cond_resched_rcu_qs() to cond_resched_tasks_rcu_qs() in
order to reflect its actual current use case.

7. Eliminate unused cond_resched_softirq() macro.

8. Move __rcu_read_lock() and __rcu_read_unlock() to tree_plugin.h.

9. Update rcu_bind_gp_kthread() header comment.

10. Declare rcu_eqs_special_set() in public header, courtesy of
Yury Norov.

11. Add cleanup_srcu_struct_quiesced().

12. Avoid flush dependency in delete controller flow, which is
included in this series due to its need for the shiny new
cleanup_srcu_struct_quiesced() function.

13. Exclude near-simultaneous RCU CPU stall warnings.

14. Add leaf-node macros to simplify code.

15. Ensure whatisRCU.txt actually says what RCU is, courtesy of
Paul Gortmaker.

16-21: Debugging commits that may or may not be submitted for inclusion,
depending on how helpful they prove to be.

22: Use the proper lockdep annotation in dump_blkd_tasks(),
courtesy of Boqun Feng.

Thanx, Paul

------------------------------------------------------------------------

Documentation/RCU/whatisRCU.txt | 2
drivers/nvme/host/core.c | 2
include/linux/rcupdate.h | 4 -
include/linux/rcutree.h | 1
include/linux/sched.h | 14 ++--
include/linux/srcu.h | 36 ++++++++++++
kernel/rcu/rcu.h | 11 ++-
kernel/rcu/rcuperf.c | 2
kernel/rcu/rcutorture.c | 7 ++
kernel/rcu/srcutiny.c | 9 ++-
kernel/rcu/srcutree.c | 30 +++++-----
kernel/rcu/tree.c | 76 ++++++++++++++------------
kernel/rcu/tree.h | 8 --
kernel/rcu/tree_exp.h | 13 +---
kernel/rcu/tree_plugin.h | 116 +++++++++++++++++++++++++++++++---------
kernel/rcu/update.c | 50 -----------------
kernel/sched/core.c | 14 ----
kernel/softirq.c | 3 -
kernel/torture.c | 2
kernel/trace/trace_benchmark.c | 4 -
20 files changed, 232 insertions(+), 172 deletions(-)