* [GIT PULL tip/core/rcu] RCU commits for v5.8
@ 2020-05-11 15:44 Paul E. McKenney
0 siblings, 0 replies; only message in thread
From: Paul E. McKenney @ 2020-05-11 15:44 UTC (permalink / raw)
To: mingo, tglx
Cc: linux-kernel, rcu, kernel-team, jbi.octave, j.neuschaefer, joel,
laijs, mchehab+huawei, rdunlap, yanaijie, zhangzl2013
Hello!
This pull request contains the following changes:
1. Miscellaneous fixes.
https://lore.kernel.org/lkml/20200415171017.GA7821@paulmck-ThinkPad-P72
2. kfree_rcu() updates.
https://lore.kernel.org/lkml/20200415171924.GA9270@paulmck-ThinkPad-P72
3. Remove scheduler locking restriction
https://lore.kernel.org/lkml/20200415175543.GA10416@paulmck-ThinkPad-P72
4. RCU-tasks update, including addition of RCU Tasks Trace for
BPF use and RCU Tasks Rude. (This branch is on top of #3 due
to overlap of changed code.)
https://lore.kernel.org/lkml/20200415181856.GA11037@paulmck-ThinkPad-P72
5. RCU CPU stall warning updates.
https://lore.kernel.org/lkml/20200415172341.GA9519@paulmck-ThinkPad-P72
6. Torture-test updates.
https://lore.kernel.org/lkml/20200415173037.GA9768@paulmck-ThinkPad-P72
All of these have been subjected to the kbuild test robot and -next
testing, and are available in the git repository based on v5.7-rc2 at:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git for-mingo
for you to fetch changes up to f736e0f1a55a88cb258b73da77463573739e9ac9:
Merge branches 'fixes.2020.04.27a', 'kfree_rcu.2020.04.27a', 'rcu-tasks.2020.04.27a', 'stall.2020.04.27a' and 'torture.2020.05.07a' into HEAD (2020-05-07 10:18:32 -0700)
----------------------------------------------------------------
Jason Yan (1):
rcutorture: Make rcu_fwds and rcu_fwd_emergency_stop static
Joel Fernandes (Google) (3):
rcuperf: Add ability to increase object allocation size
rcu/tree: Add a shrinker to prevent OOM due to kfree_rcu() batching
rcu/tree: Count number of batched kfree_rcu() locklessly
Jonathan Neuschäfer (1):
Revert "rculist: Describe variadic macro argument in a Sphinx-compatible way"
Jules Irenge (2):
rcu: Replace assigned pointer ret value by corresponding boolean value
rcu: Replace 1 by true
Lai Jiangshan (3):
rcu: Don't set nesting depth negative in rcu_preempt_deferred_qs()
rcu: Remove unused ->rcu_read_unlock_special.b.deferred_qs field
rcu: Don't use negative nesting depth in __rcu_read_unlock()
Mauro Carvalho Chehab (1):
rcu: Get rid of some doc warnings in update.c
Paul E. McKenney (74):
rcu: Add KCSAN stubs
srcu: Add KCSAN stubs
rcu: Mark rcu_state.ncpus to detect concurrent writes
rcu: Add *_ONCE() and data_race() to rcu_node ->exp_tasks plus locking
rcu: Add READ_ONCE and data_race() to rcu_node ->boost_tasks
srcu: Add data_race() to ->srcu_lock_count and ->srcu_unlock_count arrays
rcu: Add WRITE_ONCE() to rcu_node ->boost_tasks
rcu: Use data_race() for RCU CPU stall-warning prints
drm: Make drm_dp_mst_dsc_aux_for_port() safe for old compilers
rcu: Expedite first two FQS scans under callback-overload conditions
rcu: Mark rcu_state.gp_seq to detect more concurrent writes
rcu: Convert ULONG_CMP_GE() to time_after() for jiffy comparison
rcu: Convert rcu_initiate_boost() ULONG_CMP_GE() to time_after()
rcu: Convert rcu_nohz_full_cpu() ULONG_CMP_LT() to time_before()
rcu: Add rcu_gp_might_be_stalled()
rcu: Add KCSAN stubs to update.c
rcu: Make rcu_read_unlock_special() safe for rq/pi locks
rcutorture: Add test of holding scheduler locks across rcu_read_unlock()
rcu: Add comments marking transitions between RCU watching and not
rcu-tasks: Use context-switch hook for PREEMPT=y kernels
sched/core: Add function to sample state of locked-down task
rcu: Add per-task state to RCU CPU stall warnings
rcu-tasks: Move Tasks RCU to its own file
rcu-tasks: Create struct to hold state information
rcu: Reinstate synchronize_rcu_mult()
rcutorture: Add a test for synchronize_rcu_mult()
rcu-tasks: Refactor RCU-tasks to allow variants to be added
rcu-tasks: Add an RCU-tasks rude variant
rcutorture: Add torture tests for RCU Tasks Rude
rcu-tasks: Use unique names for RCU-Tasks kthreads and messages
rcu-tasks: Further refactor RCU-tasks to allow adding more variants
rcu-tasks: Code movement to allow more Tasks RCU variants
rcu-tasks: Add an RCU Tasks Trace to simplify protection of tracing hooks
rcutorture: Add torture tests for RCU Tasks Trace
rcu-tasks: Add stall warnings for RCU Tasks Trace
rcu-tasks: Move #ifdef into tasks.h
rcu-tasks: Add RCU tasks to rcutorture writer stall output
rcu-tasks: Make rcutorture writer stall output include GP state
rcu-tasks: Make RCU Tasks Trace make use of RCU scheduler hooks
rcu-tasks: Add a grace-period start time for throttling and debug
rcu-tasks: Provide boot parameter to delay IPIs until late in grace period
rcu-tasks: Split ->trc_reader_need_end
rcu-tasks: Add grace-period and IPI counts to statistics
rcu-tasks: Add Kconfig option to mediate smp_mb() vs. IPI
rcu-tasks: Avoid IPIing userspace/idle tasks if kernel is so built
rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
rcu-tasks: Disable CPU hotplug across RCU tasks trace scans
rcu-tasks: Handle the running-offline idle-task special case
rcu-tasks: Make RCU tasks trace also wait for idle tasks
rcu-tasks: Add rcu_dynticks_zero_in_eqs() effectiveness statistics
rcu-tasks: Add count for idle tasks on offline CPUs
rcutorture: Add TRACE02 scenario enabling RCU Tasks Trace IPIs
rcu-tasks: Add IPI failure count to statistics
rcu-tasks: Allow standalone use of TASKS_{TRACE_,}RCU
ftrace: Use synchronize_rcu_tasks_rude() instead of ftrace_sync()
rcu: Use data_race() for RCU expedited CPU stall-warning prints
rcu: When GP kthread is starved, tag idle threads as false positives
rcu: Remove self-stack-trace when all quiescent states seen
rcutorture: Add KCSAN stubs
rcutorture: Make kvm-recheck-rcu.sh handle truncated lines
rcutorture: Mark data-race potential for rcu_barrier() test statistics
rcutorture: Add flag to produce non-busy-wait task stalls
rcutorture: Right-size TREE10 CPU consumption
rcu: Allow rcutorture to starve grace-period kthread
torture: Add --kcsan argument to top-level kvm.sh script
torture: Make --kcsan argument also create a summary
torture: Eliminate duplicate #CHECK# from ConfigFragment
torture: Abstract application of additional Kconfig options
torture: Allow --kconfig options to override --kcsan defaults
torture: Allow scenario-specific Kconfig options to override CFcommon
torture: Save a few lines by using config_override_param initially
torture: Add a --kasan argument
rcutorture: Convert ULONG_CMP_LT() to time_before()
Merge branches 'fixes.2020.04.27a', 'kfree_rcu.2020.04.27a', 'rcu-tasks.2020.04.27a', 'stall.2020.04.27a' and 'torture.2020.05.07a' into HEAD
Randy Dunlap (1):
locktorture.c: Fix if-statement empty body warnings
Zhaolong Zhang (1):
rcu: Fix the (t=0 jiffies) false positive
.../RCU/Design/Requirements/Requirements.rst | 61 +-
Documentation/admin-guide/kernel-parameters.txt | 19 +
drivers/gpu/drm/drm_dp_mst_topology.c | 2 +-
include/linux/rculist.h | 4 +-
include/linux/rcupdate.h | 53 +-
include/linux/rcupdate_trace.h | 88 ++
include/linux/rcupdate_wait.h | 19 +
include/linux/rcutiny.h | 3 +-
include/linux/rcutree.h | 1 +
include/linux/sched.h | 10 +-
include/linux/torture.h | 2 +-
include/linux/wait.h | 2 +
init/init_task.c | 5 +
kernel/fork.c | 5 +
kernel/rcu/Kconfig | 46 +-
kernel/rcu/Kconfig.debug | 4 +
kernel/rcu/rcu.h | 7 +
kernel/rcu/rcuperf.c | 5 +-
kernel/rcu/rcutorture.c | 155 ++-
kernel/rcu/srcutree.c | 21 +-
kernel/rcu/tasks.h | 1193 ++++++++++++++++++++
kernel/rcu/tree.c | 179 ++-
kernel/rcu/tree.h | 3 +
kernel/rcu/tree_exp.h | 50 +-
kernel/rcu/tree_plugin.h | 86 +-
kernel/rcu/tree_stall.h | 144 ++-
kernel/rcu/update.c | 394 +------
kernel/sched/core.c | 48 +
kernel/trace/Kconfig | 1 +
kernel/trace/ftrace.c | 17 +-
.../selftests/rcutorture/bin/kcsan-collapse.sh | 22 +
.../selftests/rcutorture/bin/kvm-recheck-rcu.sh | 16 +-
.../selftests/rcutorture/bin/kvm-recheck.sh | 9 +
.../selftests/rcutorture/bin/kvm-test-1-run.sh | 52 +-
tools/testing/selftests/rcutorture/bin/kvm.sh | 11 +
.../selftests/rcutorture/configs/rcu/CFLIST | 3 +
.../selftests/rcutorture/configs/rcu/RUDE01 | 10 +
.../selftests/rcutorture/configs/rcu/RUDE01.boot | 1 +
.../selftests/rcutorture/configs/rcu/TRACE01 | 11 +
.../selftests/rcutorture/configs/rcu/TRACE01.boot | 1 +
.../selftests/rcutorture/configs/rcu/TRACE02 | 11 +
.../selftests/rcutorture/configs/rcu/TRACE02.boot | 1 +
.../selftests/rcutorture/configs/rcu/TREE10 | 2 +-
43 files changed, 2156 insertions(+), 621 deletions(-)
create mode 100644 include/linux/rcupdate_trace.h
create mode 100644 kernel/rcu/tasks.h
create mode 100755 tools/testing/selftests/rcutorture/bin/kcsan-collapse.sh
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/RUDE01
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/RUDE01.boot
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TRACE01
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TRACE01.boot
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TRACE02
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TRACE02.boot
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-05-11 15:44 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-11 15:44 [GIT PULL tip/core/rcu] RCU commits for v5.8 Paul E. McKenney
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.