[GIT PULL rcu/next] RCU commits for 5.1

From: Paul E. McKenney
Date: Mon Feb 11 2019 - 15:12:18 EST


Hello, Ingo,

This pull request contains the following changes:

1. Additional cleanups after RCU flavor consolidation.

http://lkml.kernel.org/r/20190109211830.GA30595@xxxxxxxxxxxxx

2. Grace-period forward-progress cleanups and improvements.

http://lkml.kernel.org/r/20190109212816.GA32282@xxxxxxxxxxxxx

3. Documentation updates.

http://lkml.kernel.org/r/20190109213302.GA1723@xxxxxxxxxxxxx

4. Miscellaneous fixes.

http://lkml.kernel.org/r/20190109214115.GA2835@xxxxxxxxxxxxx

5. spin_is_locked() conversions to lockdep.

http://lkml.kernel.org/r/20190109222120.GA13904@xxxxxxxxxxxxx

6. SPDX changes to RCU source and header files.

http://lkml.kernel.org/r/20190207141700.GA11106@xxxxxxxxxxxxx

7. SRCU updates.

http://lkml.kernel.org/r/20190109214506.GA4747@xxxxxxxxxxxxx

8. Torture-test updates, including nolibc updates and moving
nolibc to tools/include.

http://lkml.kernel.org/r/20190109214944.GA5610@xxxxxxxxxxxxx

All of these changes have been subjected to 0day Test Robot and -next
testing, and are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git e7ffb4eb9a6d89678e7f62461737899f88dab64e

for you to fetch changes up to e7ffb4eb9a6d89678e7f62461737899f88dab64e:

Merge branches 'doc.2019.01.26a', 'fixes.2019.01.26a', 'sil.2019.01.26a', 'spdx.2019.02.09a', 'srcu.2019.01.26a' and 'torture.2019.01.26a' into HEAD (2019-02-09 08:47:52 -0800)

Note that the diffstat output omits the addition of tree_stall.h, so is
overly optimistic. :-/

----------------------------------------------------------------
Joel Fernandes (Google) (1):
rcu: Add sparse check to rcu_assign_pointer()

Junchang Wang (2):
doc: Fix outdated links
RCU/torture.txt: Remove section MODULE PARAMETERS

Paul E. McKenney (59):
sched: Replace call_rcu_sched() with call_rcu()
sched: Replace synchronize_sched() with synchronize_rcu()
rcu: Rename and comment changes due to only one rcuo kthread per CPU
rcu: Make expedited IPI handler return after handling critical section
rcu: Inline force_quiescent_state() into rcu_force_quiescent_state()
rcu: Eliminate RCU_BH_FLAVOR and RCU_SCHED_FLAVOR
rcu: Inline rcu_kthread_do_work() into its sole remaining caller
rcu: Determine expedited-GP IPI handler at build time
rcu: Consolidate PREEMPT and !PREEMPT synchronize_rcu_expedited()
rcu: Consolidate PREEMPT and !PREEMPT synchronize_rcu()
rcu: Inline _synchronize_rcu_expedited() into synchronize_rcu_expedited()
rcu: Discard separate per-CPU callback counts
rcu: Remove wrapper definitions for obsolete RCU update functions
rcu: Accommodate zero jiffies_till_first_fqs and kthread kicking
rcu: Move rcu_cpu_kthread_task to rcu_data structure
rcu: Move rcu_cpu_kthread_status to rcu_data structure
rcu: Remove unused rcu_cpu_kthread_loops per-CPU variable
rcu: Move rcu_cpu_has_work to rcu_data structure
rcu: Remove unused rcu_cpu_kthread_cpu per-CPU variable
rcu: Update NOCB comments
rcu: Improve diagnostics for failed RCU grace-period start
rcu: Protect rcu_check_gp_kthread_starvation() access to ->gp_flags
rcu: Add sysrq rcu_node-dump capability
Merge branches 'consolidate.2019.01.26a' and 'fwd.2019.01.26a' into HEAD
doc: Now jiffies_till_sched_qs solicits help from cond_resched()
doc: CPU-hotplug notifiers cannot invoke synchronize_srcu() or srcu_barrier()
rcu: Docbook for rcu_head_init() and rcu_head_after_call_rcu()
rcu: Rename rcu_check_callbacks() to rcu_sched_clock_irq()
rcu: Rename rcu_process_callbacks() to rcu_core() for Tree RCU
rcu: Remove preemption disabling from expedited CPU selection
rcu: Repair rcu_nmi_exit() docbook header
rcu: Fix obsolete DYNTICK_IRQ_NONIDLE comment
include/asm-generic: Remove spin_is_locked() comment
virt/kvm: Replace spin_is_locked() with lockdep
srcu: Check for invalid idx argument in srcu_read_unlock()
rcutorture: Record grace periods in forward-progress histogram
torture: Explain and simplify odd "for" loop in mkinitrd.sh
rcutorture: Add grace period after CPU offline
rcuperf: Stop abusing IS_ENABLED()
rcu/rcu.h: Convert to SPDX license identifier
rcu/rcuperf: Convert to SPDX license identifier
rcu/rcu_segcblist: Convert to SPDX license identifier
rcu/rcutorture: Convert to SPDX license identifier
rcu/srcu: Convert to SPDX license identifier
rcu/sync: Convert to SPDX license identifier
rcu/tiny: Convert to SPDX license identifier
rcu/tree: Convert to SPDX license identifier
rcu/update: Convert to SPDX license identifier
linux/rcu_node_tree: Convert to SPDX license identifier
linux/rcupdate: Convert to SPDX license identifier
linux/rcu_segcblist: Convert to SPDX license identifier
linux/rcu_sync: Convert to SPDX license identifier
linux/rcutiny: Convert to SPDX license identifier
linux/rcutree: Convert to SPDX license identifier
linux/srcu: Convert to SPDX license identifier
torture: Convert to SPDX license identifier
linux/torture: Convert to SPDX license identifier
locking/locktorture: Convert to SPDX license identifier
Merge branches 'doc.2019.01.26a', 'fixes.2019.01.26a', 'sil.2019.01.26a', 'spdx.2019.02.09a', 'srcu.2019.01.26a' and 'torture.2019.01.26a' into HEAD

Sebastian Andrzej Siewior (1):
srcu: Remove srcu_queue_delayed_work_on()

Willy Tarreau (5):
rcutorture/nolibc: Fix the clobbered registers in the MIPS syscall definition
rcutorture/nolibc: Fix some poor indentation and alignment
rcutorture/nolibc: Add a bit of documentation to explain how to use nolibc
tools headers: Move the nolibc header from rcutorture to tools/include/nolibc/
MAINTAINERS: Add myself as the maintainer for the nolibc header file(s)

Zhang, Jun (2):
rcu: Do RCU GP kthread self-wakeup from softirq and interrupt
rcu: Prevent needless ->gp_seq_needed update in __note_gp_changes()

.../Expedited-Grace-Periods/ExpSchedFlow.svg | 18 +-
.../Expedited-Grace-Periods.html | 26 +-
.../Memory-Ordering/Tree-RCU-Memory-Ordering.html | 6 +-
.../TreeRCU-callback-invocation.svg | 2 +-
.../RCU/Design/Memory-Ordering/TreeRCU-gp.svg | 8 +-
.../RCU/Design/Memory-Ordering/TreeRCU-qs.svg | 6 +-
.../RCU/Design/Requirements/Requirements.html | 20 +-
Documentation/RCU/stallwarn.txt | 15 +-
Documentation/RCU/torture.txt | 169 +------------
Documentation/RCU/whatisRCU.txt | 4 +-
Documentation/admin-guide/kernel-parameters.txt | 32 ++-
MAINTAINERS | 6 +
include/asm-generic/bug.h | 3 -
include/linux/rcu_node_tree.h | 17 +-
include/linux/rcu_segcblist.h | 17 +-
include/linux/rcu_sync.h | 15 +-
include/linux/rcupdate.h | 91 +------
include/linux/rcutiny.h | 17 +-
include/linux/rcutree.h | 19 +-
include/linux/srcu.h | 18 +-
include/linux/srcutiny.h | 17 +-
include/linux/srcutree.h | 20 +-
include/linux/torture.h | 20 +-
kernel/locking/locktorture.c | 21 +-
kernel/rcu/rcu.h | 21 +-
kernel/rcu/rcu_segcblist.c | 17 +-
kernel/rcu/rcu_segcblist.h | 17 +-
kernel/rcu/rcuperf.c | 27 +--
kernel/rcu/rcutorture.c | 59 +++--
kernel/rcu/srcutiny.c | 17 +-
kernel/rcu/srcutree.c | 72 ++----
kernel/rcu/sync.c | 15 +-
kernel/rcu/tiny.c | 19 +-
kernel/rcu/tree.c | 267 +++++++++++++--------
kernel/rcu/tree.h | 53 ++--
kernel/rcu/tree_exp.h | 201 ++++++----------
kernel/rcu/tree_plugin.h | 238 +++++-------------
kernel/rcu/update.c | 17 +-
kernel/sched/cpufreq.c | 4 +-
kernel/sched/cpufreq_schedutil.c | 2 +-
kernel/sched/sched.h | 2 +-
kernel/sched/topology.c | 4 +-
kernel/time/timer.c | 2 +-
kernel/torture.c | 25 +-
.../rcutorture/bin => include/nolibc}/nolibc.h | 118 +++++++--
tools/testing/selftests/rcutorture/bin/mkinitrd.sh | 27 ++-
virt/kvm/kvm_main.c | 2 +-
47 files changed, 640 insertions(+), 1173 deletions(-)
rename tools/{testing/selftests/rcutorture/bin => include/nolibc}/nolibc.h (94%)