All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.