Linus, Please pull the latest core-rcu-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-rcu-for-linus # HEAD: cae45e1c6c541283a1bd155aa7b0a57e353b4df4 Merge branch 'rcu-next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu The main RCU related changes in this cycle were: - Additional cleanups after RCU flavor consolidation - Grace-period forward-progress cleanups and improvements - Documentation updates - Miscellaneous fixes - spin_is_locked() conversions to lockdep - SPDX changes to RCU source and header files - SRCU updates - Torture-test updates, including nolibc updates and moving nolibc to tools/include Thanks, Ingo ------------------> Andrea Parri (1): tools/memory-model: Model smp_mb__after_unlock_lock() 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): tools/memory-model: Add scripts to check github litmus tests tools/memory-model: Make scripts take "-j" abbreviation for "--jobs" 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 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 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/memory-model/.gitignore | 1 + tools/memory-model/README | 2 + tools/memory-model/linux-kernel.bell | 3 +- tools/memory-model/linux-kernel.cat | 4 +- tools/memory-model/linux-kernel.def | 1 + tools/memory-model/scripts/README | 70 ++++++ tools/memory-model/scripts/checkalllitmus.sh | 53 ++-- tools/memory-model/scripts/checkghlitmus.sh | 65 +++++ tools/memory-model/scripts/checklitmus.sh | 74 +----- tools/memory-model/scripts/checklitmushist.sh | 60 +++++ tools/memory-model/scripts/cmplitmushist.sh | 87 +++++++ tools/memory-model/scripts/initlitmushist.sh | 68 ++++++ tools/memory-model/scripts/judgelitmus.sh | 78 ++++++ tools/memory-model/scripts/newlitmushist.sh | 61 +++++ tools/memory-model/scripts/parseargs.sh | 136 +++++++++++ tools/memory-model/scripts/runlitmushist.sh | 87 +++++++ tools/testing/selftests/rcutorture/bin/mkinitrd.sh | 27 ++- virt/kvm/kvm_main.c | 2 +- 63 files changed, 1395 insertions(+), 1268 deletions(-) rename tools/{testing/selftests/rcutorture/bin => include/nolibc}/nolibc.h (94%) create mode 100644 tools/memory-model/.gitignore create mode 100644 tools/memory-model/scripts/README create mode 100644 tools/memory-model/scripts/checkghlitmus.sh create mode 100644 tools/memory-model/scripts/checklitmushist.sh create mode 100644 tools/memory-model/scripts/cmplitmushist.sh create mode 100644 tools/memory-model/scripts/initlitmushist.sh create mode 100644 tools/memory-model/scripts/judgelitmus.sh create mode 100644 tools/memory-model/scripts/newlitmushist.sh create mode 100644 tools/memory-model/scripts/parseargs.sh create mode 100644 tools/memory-model/scripts/runlitmushist.sh