public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL rcu/next] RCU commits for 5.3
@ 2019-06-18 18:07 Paul E. McKenney
  2019-06-19 12:50 ` Paul E. McKenney
  0 siblings, 1 reply; 3+ messages in thread
From: Paul E. McKenney @ 2019-06-18 18:07 UTC (permalink / raw)
  To: mingo
  Cc: rcu, linux-kernel, bigeasy, joel, benbjiang, zhenzhong.duan,
	neeraju, longman, andrea.parri, oleg

Hello, Ingo,

This pull request contains the following changes:

1.	Yet another round of flavor-consolidation cleanups.

	http://lkml.kernel.org/r/20190530145204.GA28526@linux.ibm.com

2.	Documentation updates.

	http://lkml.kernel.org/r/20190530145504.GA29820@linux.ibm.com

3.	Miscellaneous fixes.

	http://lkml.kernel.org/r/20190530145942.GA30318@linux.ibm.com

4.	SRCU updates.

	http://lkml.kernel.org/r/20190530150347.GA31311@linux.ibm.com

5.	RCU-sync updates.

	http://lkml.kernel.org/r/20190530150816.GA32130@linux.ibm.com

6.	Torture-test updates.

	http://lkml.kernel.org/r/20190530151650.GA422@linux.ibm.com

This pull request does not contain LKMM updates, which will be the
subject of a later pull request.  (Apologies for the hassle, but there
is still work in progress on handling plain assignment statements.)

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 for-mingo

for you to fetch changes up to 8bec773060bd068bddc1014d25a7d16ac84c4fd4:

  Merge branches 'consolidate.2019.05.28a', 'doc.2019.05.28a', 'fixes.2019.06.13a', 'fixes.2019.05.28a', 'srcu.2019.05.28a', 'sync.2019.05.28a' and 'torture.2019.05.28a' into HEAD (2019-06-13 15:39:55 -0700)

----------------------------------------------------------------
Andrea Parri (2):
      rcu: Don't return a value from rcu_assign_pointer()
      rcu: Don't return a value from rcu_assign_pointer()

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 (35):
      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: Upgrade sync_exp_work_done() to smp_mb()
      rcu: Make kfree_rcu() ignore NULL pointers
      rcu: Fix irritating whitespace error in rcu_assign_pointer()
      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()
      Merge branches 'consolidate.2019.05.28a', 'doc.2019.05.28a', 'fixes.2019.06.13a', 'fixes.2019.05.28a', 'srcu.2019.05.28a', 'sync.2019.05.28a' and 'torture.2019.05.28a' into HEAD

Sebastian Andrzej Siewior (2):
      rcu: Enable elimination of Tree-RCU softirq processing
      rcutorture: Tweak kvm options

Waiman Long (2):
      rcu: Force inlining of rcu_read_lock()
      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/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/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 +
 49 files changed, 736 insertions(+), 431 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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL rcu/next] RCU commits for 5.3
  2019-06-18 18:07 [GIT PULL rcu/next] RCU commits for 5.3 Paul E. McKenney
@ 2019-06-19 12:50 ` Paul E. McKenney
  2019-06-20  6:59   ` Ingo Molnar
  0 siblings, 1 reply; 3+ messages in thread
From: Paul E. McKenney @ 2019-06-19 12:50 UTC (permalink / raw)
  To: mingo
  Cc: rcu, linux-kernel, bigeasy, joel, benbjiang, zhenzhong.duan,
	neeraju, longman, andrea.parri, oleg

On Tue, Jun 18, 2019 at 11:07:42AM -0700, Paul E. McKenney wrote:
> Hello, Ingo,
> 
> This pull request contains the following changes:

Gah!!!  This one has some duplicated commits, so please ignore.
I will send an updated pull request early next week.

It is functionally correct, but...

One of those weeks, I guess.  :-/

							Thanx, Paul

> 1.	Yet another round of flavor-consolidation cleanups.
> 
> 	http://lkml.kernel.org/r/20190530145204.GA28526@linux.ibm.com
> 
> 2.	Documentation updates.
> 
> 	http://lkml.kernel.org/r/20190530145504.GA29820@linux.ibm.com
> 
> 3.	Miscellaneous fixes.
> 
> 	http://lkml.kernel.org/r/20190530145942.GA30318@linux.ibm.com
> 
> 4.	SRCU updates.
> 
> 	http://lkml.kernel.org/r/20190530150347.GA31311@linux.ibm.com
> 
> 5.	RCU-sync updates.
> 
> 	http://lkml.kernel.org/r/20190530150816.GA32130@linux.ibm.com
> 
> 6.	Torture-test updates.
> 
> 	http://lkml.kernel.org/r/20190530151650.GA422@linux.ibm.com
> 
> This pull request does not contain LKMM updates, which will be the
> subject of a later pull request.  (Apologies for the hassle, but there
> is still work in progress on handling plain assignment statements.)
> 
> 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 for-mingo
> 
> for you to fetch changes up to 8bec773060bd068bddc1014d25a7d16ac84c4fd4:
> 
>   Merge branches 'consolidate.2019.05.28a', 'doc.2019.05.28a', 'fixes.2019.06.13a', 'fixes.2019.05.28a', 'srcu.2019.05.28a', 'sync.2019.05.28a' and 'torture.2019.05.28a' into HEAD (2019-06-13 15:39:55 -0700)
> 
> ----------------------------------------------------------------
> Andrea Parri (2):
>       rcu: Don't return a value from rcu_assign_pointer()
>       rcu: Don't return a value from rcu_assign_pointer()
> 
> 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 (35):
>       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: Upgrade sync_exp_work_done() to smp_mb()
>       rcu: Make kfree_rcu() ignore NULL pointers
>       rcu: Fix irritating whitespace error in rcu_assign_pointer()
>       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()
>       Merge branches 'consolidate.2019.05.28a', 'doc.2019.05.28a', 'fixes.2019.06.13a', 'fixes.2019.05.28a', 'srcu.2019.05.28a', 'sync.2019.05.28a' and 'torture.2019.05.28a' into HEAD
> 
> Sebastian Andrzej Siewior (2):
>       rcu: Enable elimination of Tree-RCU softirq processing
>       rcutorture: Tweak kvm options
> 
> Waiman Long (2):
>       rcu: Force inlining of rcu_read_lock()
>       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/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/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 +
>  49 files changed, 736 insertions(+), 431 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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL rcu/next] RCU commits for 5.3
  2019-06-19 12:50 ` Paul E. McKenney
@ 2019-06-20  6:59   ` Ingo Molnar
  0 siblings, 0 replies; 3+ messages in thread
From: Ingo Molnar @ 2019-06-20  6:59 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: rcu, linux-kernel, bigeasy, joel, benbjiang, zhenzhong.duan,
	neeraju, longman, andrea.parri, oleg


* Paul E. McKenney <paulmck@linux.ibm.com> wrote:

> On Tue, Jun 18, 2019 at 11:07:42AM -0700, Paul E. McKenney wrote:
> > Hello, Ingo,
> > 
> > This pull request contains the following changes:
> 
> Gah!!!  This one has some duplicated commits, so please ignore.
> I will send an updated pull request early next week.
> 
> It is functionally correct, but...
> 
> One of those weeks, I guess.  :-/

No problem! :-)

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-06-20  6:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-18 18:07 [GIT PULL rcu/next] RCU commits for 5.3 Paul E. McKenney
2019-06-19 12:50 ` Paul E. McKenney
2019-06-20  6:59   ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox