[PATCH tip/core/rcu 0/12]
From: Paul E. McKenney
Date: Thu May 30 2019 - 10:55:47 EST
Hello!
This series provides yet more cleanups and fixes for the RCU flavor
consolidation effort:
1. Enable elimination of Tree-RCU softirq processing, courtesy of
Sebastian Andrzej Siewior. (More along the lines of real-time
than consolidation, but placed here to avoid conflicts.)
2. Check for wakeup-safe conditions in rcu_read_unlock_special().
3. Only do rcu_read_unlock_special() wakeups if expedited.
4. Allow rcu_read_unlock_special() to raise_softirq() if in_irq().
5. Use irq_work to get scheduler's attention in clean context.
6. Inline invoke_rcu_callbacks() into its sole remaining caller.
7. Avoid self-IPI in sync_rcu_exp_select_node_cpus().
8. Avoid self-IPI in sync_sched_exp_online_cleanup().
9. Add assertion to check if in an interrupt, courtesy of Joel
Fernandes.
10. Add checks for dynticks counters in rcu_is_cpu_rrupt_from_idle(),
courtesy of Joel Fernandes.
11. Rename rcu_data's ->deferred_qs to ->exp_deferred_qs.
12. Remove unused rdp local from synchronize_rcu_expedited(),
courtesy of Jiang Biao.
Thanx, Paul
------------------------------------------------------------------------
Documentation/admin-guide/kernel-parameters.txt | 6
include/linux/lockdep.h | 7
include/linux/sched.h | 2
kernel/rcu/tree.c | 179 +++++++++++++++++----
kernel/rcu/tree.h | 6
kernel/rcu/tree_exp.h | 50 ++++-
kernel/rcu/tree_plugin.h | 201 +++++++-----------------
7 files changed, 267 insertions(+), 184 deletions(-)