Messages in this thread | | | Date | Mon, 8 Jul 2019 11:09:20 +0200 | From | Ingo Molnar <> | Subject | [GIT PULL] RCU changes for v5.3 |
| |
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: 83086d654dd08c0f57381522e6819f421677706e Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
The changes in this cycle are:
- RCU flavor consolidation cleanups and optmizations - Documentation updates - Miscellaneous fixes - SRCU updates - RCU-sync flavor consolidation - Torture-test updates - Linux-kernel memory-consistency-model updates, most notably the addition of plain C-language accesses
Thanks,
Ingo
------------------> Alan Stern (7): tools/memory-model: Prepare for data-race detection tools/memory-model: Add definitions of plain and marked accesses tools/memory-model: Add data-race detection Documentation: atomic_t.txt: Explain ordering provided by smp_mb__{before,after}_atomic() tools/memory-model: Expand definition of barrier tools/memory-model: Change definition of rcu-fence tools/memory-model: Improve data-race detection
Andrea Parri (3): rcu: Don't return a value from rcu_assign_pointer() tools/memory-model: Fix comment in MP+poonceonces.litmus tools/memory-model: Do not use "herd" to refer to "herd7"
Jiang Biao (2): rcu: Remove unused rdp local from synchronize_rcu_expedited() rcu: Make __call_srcu static
Joel Fernandes (Google) (7): lockdep: Add assertion to check if in an interrupt rcu: Add checks for dynticks counters in rcu_is_cpu_rrupt_from_idle() doc/rcuref: Document real world examples in kernel srcu: Remove unused vmlinux srcu linker entries module: Make srcu_struct ptr array as read-only rcutorture: Select from only online CPUs rcutorture: Add cpu0 to the set of CPUs to add jitter
Neeraj Upadhyay (2): rcu: Dump specified number of blocked tasks rcu: Correctly unlock root node in rcu_check_gp_start_stall()
Oleg Nesterov (4): rcu/sync: Kill rcu_sync_type/gp_type uprobes: Use DEFINE_STATIC_PERCPU_RWSEM() to initialize dup_mmap_sem locking/percpu-rwsem: Add DEFINE_PERCPU_RWSEM(), use it to initialize cgroup_threadgroup_rwsem rcu/sync: Simplify the state machine
Paul E. McKenney (32): rcu: Check for wakeup-safe conditions in rcu_read_unlock_special() rcu: Only do rcu_read_unlock_special() wakeups if expedited rcu: Allow rcu_read_unlock_special() to raise_softirq() if in_irq() rcu: Use irq_work to get scheduler's attention in clean context rcu: Inline invoke_rcu_callbacks() into its sole remaining caller rcu: Avoid self-IPI in sync_rcu_exp_select_node_cpus() rcu: Avoid self-IPI in sync_sched_exp_online_cleanup() rcu: Rename rcu_data's ->deferred_qs to ->exp_deferred_qs rcu: Make kfree_rcu() ignore NULL pointers rcu: Set a maximum limit for back-to-back callback invocation doc: Remove ".vnet" from paulmck email addresses srcu: Allocate per-CPU data for DEFINE_SRCU() in modules rcutorture: Add cond_resched() to forward-progress free-up loop rcutorture: Fix stutter_wait() return value and freelist checks torture: Allow inter-stutter interval to be specified torture: Make kvm-find-errors.sh and kvm-recheck.sh provide exit status rcutorture: Provide rudimentary Makefile rcutorture: Exempt tasks RCU from timely draining of grace periods rcutorture: Exempt TREE01 from forward-progress testing rcutorture: Give the scheduler a chance on PREEMPT && NO_HZ_FULL kernels rcutorture: Halt forward-progress checks at end of run rcutorture: Add trivial RCU implementation torture: Capture qemu output torture: Add function graph-tracing cheat sheet torture: Run kernel build in source directory torture: Make --cpus override idleness calculations torture: Add --trust-make to suppress "make clean" rcutorture: Dump trace buffer for callback pipe drain failures torture: Suppress propagating trace_printk() warning rcutorture: Upper case solves the case of the vanishing NULL pointer rcu: Upgrade sync_exp_work_done() to smp_mb() rcu: Fix irritating whitespace error in rcu_assign_pointer()
Sebastian Andrzej Siewior (2): rcu: Enable elimination of Tree-RCU softirq processing rcutorture: Tweak kvm options
Waiman Long (1): rcu: Force inlining of rcu_read_lock()
Zhenzhong Duan (1): doc: Fixup definition of rcupdate.rcu_task_stall_timeout
Documentation/RCU/rcuref.txt | 21 +- Documentation/RCU/stallwarn.txt | 2 +- Documentation/RCU/whatisRCU.txt | 8 +- Documentation/admin-guide/kernel-parameters.txt | 6 + Documentation/atomic_t.txt | 17 +- Documentation/core-api/circular-buffers.rst | 2 +- Documentation/memory-barriers.txt | 2 +- .../translations/ko_KR/memory-barriers.txt | 2 +- include/linux/lockdep.h | 7 + include/linux/module.h | 5 + include/linux/percpu-rwsem.h | 10 +- include/linux/rcu_sync.h | 40 ++-- include/linux/rcupdate.h | 21 +- include/linux/sched.h | 2 +- include/linux/srcutree.h | 14 +- include/linux/torture.h | 2 +- kernel/cgroup/cgroup.c | 3 +- kernel/events/uprobes.c | 4 +- kernel/locking/locktorture.c | 2 +- kernel/locking/percpu-rwsem.c | 2 +- kernel/module.c | 5 + kernel/rcu/rcu.h | 5 + kernel/rcu/rcutorture.c | 96 +++++++-- kernel/rcu/srcutree.c | 69 ++++++- kernel/rcu/sync.c | 214 ++++++++++----------- kernel/rcu/tree.c | 164 +++++++++++++--- kernel/rcu/tree.h | 6 +- kernel/rcu/tree_exp.h | 53 +++-- kernel/rcu/tree_plugin.h | 195 ++++++------------- kernel/rcu/tree_stall.h | 4 +- kernel/rcu/update.c | 13 ++ kernel/torture.c | 23 ++- tools/include/linux/rcu.h | 4 +- tools/memory-model/linux-kernel.bell | 6 + tools/memory-model/linux-kernel.cat | 102 +++++++--- tools/memory-model/linux-kernel.def | 1 + .../litmus-tests/MP+poonceonces.litmus | 2 +- tools/memory-model/litmus-tests/README | 2 +- tools/memory-model/lock.cat | 2 +- tools/memory-model/scripts/README | 4 +- tools/memory-model/scripts/checkalllitmus.sh | 2 +- tools/memory-model/scripts/checklitmus.sh | 2 +- tools/memory-model/scripts/parseargs.sh | 2 +- tools/memory-model/scripts/runlitmushist.sh | 2 +- tools/testing/radix-tree/linux/rcupdate.h | 2 +- tools/testing/selftests/rcutorture/Makefile | 3 + .../testing/selftests/rcutorture/bin/configinit.sh | 39 ++-- tools/testing/selftests/rcutorture/bin/cpus2use.sh | 5 + .../testing/selftests/rcutorture/bin/functions.sh | 13 +- tools/testing/selftests/rcutorture/bin/jitter.sh | 13 +- .../testing/selftests/rcutorture/bin/kvm-build.sh | 9 +- .../selftests/rcutorture/bin/kvm-find-errors.sh | 3 + .../selftests/rcutorture/bin/kvm-recheck.sh | 13 +- .../selftests/rcutorture/bin/kvm-test-1-run.sh | 23 +-- tools/testing/selftests/rcutorture/bin/kvm.sh | 14 +- .../selftests/rcutorture/bin/parse-build.sh | 2 +- .../selftests/rcutorture/bin/parse-console.sh | 1 + .../selftests/rcutorture/configs/rcu/CFcommon | 3 + .../selftests/rcutorture/configs/rcu/TREE01.boot | 1 + .../selftests/rcutorture/configs/rcu/TRIVIAL | 14 ++ .../selftests/rcutorture/configs/rcu/TRIVIAL.boot | 3 + 61 files changed, 845 insertions(+), 466 deletions(-) create mode 100644 tools/testing/selftests/rcutorture/Makefile create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TRIVIAL create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TRIVIAL.boot
| |