linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, priyalee.kushwaha@intel.com,
	drozdziak1@gmail.com, arnd@arndb.de, ldr709@gmail.com,
	tglx@linutronix.de, peterz@infradead.org, josh@joshtriplett.org,
	nico@linaro.org, kjlx@templeofstupid.com,
	vegard.nossum@oracle.com, torvalds@linux-foundation.org,
	dcb314@hotmail.com, fengguang.wu@intel.com, fweisbec@gmail.com,
	riel@redhat.com, rostedt@goodmis.org
Subject: Re: [GIT PULL rcu/next] RCU commits for 4.13
Date: Tue, 13 Jun 2017 08:41:23 +0200	[thread overview]
Message-ID: <20170613064123.ezqhpcpxoko35otx@gmail.com> (raw)
In-Reply-To: <20170612213754.GA7201@linux.vnet.ibm.com>


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

> Hello, Ingo,
> 
> This pull request is unusual in being a single linear set of commits,
> as opposed to my usual topic branches.  This is due to the many
> large-footprint changes, which means that reasonable topic branches
> result in large numbers of merge conflicts.  In addition, some commits
> depend on other commits that should be on different topic branches.
> I will return to the topic-branch style next time.
> 
> The largest feature of this series is shrinking and simplification,
> with the following diffstat summary:
> 
>  79 files changed, 1496 insertions(+), 4211 deletions(-)
> 
> In other words, this series represents a net reduction of more than 2700
> lines of code.
> 
> These commits were posted to LKML:
> 
> 	http://lkml.kernel.org/r/20170525215934.GA11578@linux.vnet.ibm.com
> 
> Two of these commits (46/88 and 48/88) have been deferred, most likely
> to v4.14.  All of the remaining commits have been subjected to the 0day
> Test Robot and -next testing, and are availiable in teh 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 6d48152eafde1f0d0a4a9e0584fa7d9ff4fbfdac:
> 
>   rcu: Remove RCU CPU stall warnings from Tiny RCU (2017-06-08 18:52:45 -0700)
> 
> ----------------------------------------------------------------
> Arnd Bergmann (1):
>       bcm47xx: Fix build regression
> 
> Paul E. McKenney (83):
>       rcutorture: Add lockdep to one of the SRCU scenarios
>       rcutorture: Add three-level tree test for Tree SRCU
>       rcutorture: Fix bug in reporting Kconfig mis-settings
>       rcutorture: Add a scenario for Tiny SRCU
>       rcutorture: Add a scenario for Classic SRCU
>       rcu: Prevent rcu_barrier() from starting needless grace periods
>       rcutorture: Correctly handle CONFIG_RCU_TORTURE_TEST_* options
>       rcutorture: Update test scenarios based on new Kconfig dependencies
>       srcu: Eliminate possibility of destructive counter overflow
>       rcu: Complain if blocking in preemptible RCU read-side critical section
>       rcuperf: Defer expedited/normal check to end of test
>       rcuperf: Remove conflicting Kconfig options
>       rcu: Remove obsolete reference to synchronize_kernel()
>       rcuperf: Add ability to performance-test call_rcu() and friends
>       rcuperf: Add a Kconfig-fragment file for Classic SRCU
>       rcu: Make sync_rcu_preempt_exp_done() return bool
>       checkpatch: Remove checks for expedited grace periods
>       rcuperf: Add test for dynamically initialized srcu_struct
>       doc/atomic_ops: Clarify smp_mb__{before,after}_atomic()
>       atomics: Add header comment so spin_unlock_wait()
>       rcuperf: Add the ability to test tiny RCU flavors
>       srcu: Make Classic and Tree SRCU announce themselves at bootup
>       rcutorture: Reduce CPUs dedicated to testing Classic SRCU
>       srcu: Shrink Tiny SRCU a bit more
>       rcuperf: Set more user-friendly defaults
>       rcuperf: Add writer_holdoff boot parameter
>       rcutorture: Add "git diff" output to testid.txt file
>       srcu: Document auto-expediting requirement
>       doc: Take tail recursion into account in RCU requirements
>       rcu: Add preemptibility checks in rcu_sched_qs() and rcu_bh_qs()
>       rcu: Print out rcupdate.c non-default boot-time settings
>       rcu: Update rcu_bootup_announce_oddness()
>       srcu: Make exp_holdoff module parameter be static
>       srcu: Print non-default exp_holdoff values at boot time
>       rcu: Add lockdep_assert_held() teeth to tree.c
>       rcu: Add lockdep_assert_held() teeth to tree_plugin.h
>       srcu: Make SRCU be once again optional
>       srcu: Shrink Tiny SRCU a bit
>       srcu: Add DEBUG_OBJECTS_RCU_HEAD functionality
>       rcu: Make synchronize_rcu_mult() check for duplicates
>       sched: Rely on synchronize_rcu_mult() de-duplication
>       rcu: Use RCU_NOCB_WAKE rather than RCU_NOGP_WAKE
>       rcu: Add memory barriers for NOCB leader wakeup
>       rcu: Flag need for rcu_node_tree.h and rcu_segcblist.h visibility
>       rcu: Move docbook comments out of rcupdate.h
>       rcu: Move rcu_expedited and rcu_normal externs from rcupdate.h
>       rcu: Move expediting-related access/control out of rcupdate.h
>       rcu: Move torture-related definitions from rcupdate.h to rcu.h
>       rcu: Remove UINT_CMP_GE() and UINT_CMP_LT()
>       rcu: Move rcupdate.h to new empty-function style
>       rcu: Eliminate the unused __rcu_is_watching() function
>       rcu: Move the RCU_SCHEDULER_ definitions from rcupdate.h
>       rcu: Remove linux/debugobjects.h from rcupdate.h
>       rcu: Improve __call_rcu() debug-objects error message
>       rcu: Move rcu_is_nocb_cpu() from rcupdate.h to rcu.h
>       rcu: Move rcu_ftrace_dump() from rcupdate.h to rcu.h
>       rcu: move rcupdate.h to the new true/false-function style
>       rcu: Move torture-related functions out of rcutiny.h and rcutree.h
>       rcu: Move rcu_request_urgent_qs_task() out of rcutiny.h and rcutree.h
>       rcu: Move rcutiny.h to new empty/true/false-function style
>       srcu: Prevent sdp->srcu_gp_seq_needed counter wrap
>       srcu: Shrink srcu.h by moving docbook and private function
>       srcu: Apply trivial callback lists to shrink Tiny SRCU
>       lockdep: Use consistent printing primitives
>       rcu: Refactor #includes from include/linux/rcupdate.h
>       rcu: Convert rnp->lock wrappers to macros for SRCU use
>       rcu: Move rnp->lock wrappers for SRCU use
>       srcu: Use rnp->lock wrappers to replace explicit memory barriers
>       rcu: Remove *_SLOW_* Kconfig options
>       rcu: Remove the RCU_KTHREAD_PRIO Kconfig option
>       rcu: Remove nohz_full full-system-idle state machine
>       rcu: Remove #ifdef moving rcu_end_inkernel_boot from rcupdate.h
>       rcu: Remove typecheck() from RCU locking wrapper functions
>       rcu: Remove the now-obsolete PROVE_RCU_REPEATEDLY Kconfig option
>       rcu: Remove SPARSE_RCU_POINTER Kconfig option
>       srcu: Fix rcutorture-statistics typo
>       srcu: Remove Classic SRCU
>       rcu: Remove debugfs tracing
>       rcu: Eliminate NOCBs CPU-state Kconfig options
>       rcu: Move RCU non-debug Kconfig options to kernel/rcu
>       rcu: Move RCU debug Kconfig options to kernel/rcu
>       rcu: Remove event tracing from Tiny RCU
>       rcu: Remove RCU CPU stall warnings from Tiny RCU
> 
> Priyalee Kushwaha (1):
>       srcu-cbmc: Use /usr/bin/awk instead of /bin/awk
> 
> Stan Drozd (1):
>       docs: Fix typo in Documentation/memory-barriers.txt
> 
>  Documentation/RCU/00-INDEX                         |   2 -
>  .../RCU/Design/Requirements/Requirements.html      |  34 +-
>  Documentation/RCU/checklist.txt                    |   8 +-
>  Documentation/RCU/trace.txt                        | 535 -----------------
>  Documentation/admin-guide/kernel-parameters.txt    |  41 +-
>  Documentation/core-api/atomic_ops.rst              |   5 +
>  Documentation/dev-tools/sparse.rst                 |   6 -
>  Documentation/kernel-per-CPU-kthreads.txt          |  31 +-
>  Documentation/memory-barriers.txt                  |   2 +-
>  Documentation/timers/NO_HZ.txt                     |  29 +-
>  include/linux/bcm47xx_nvram.h                      |   1 +
>  include/linux/compiler.h                           |   4 -
>  include/linux/rcu_node_tree.h                      |   4 +
>  include/linux/rcu_segcblist.h                      |   4 +
>  include/linux/rcupdate.h                           | 318 +---------
>  include/linux/rcutiny.h                            | 167 +-----
>  include/linux/rcutree.h                            |  21 +-
>  include/linux/spinlock.h                           |  20 +
>  include/linux/srcu.h                               |  25 +-
>  include/linux/srcuclassic.h                        | 115 ----
>  include/linux/srcutiny.h                           |  47 +-
>  include/linux/srcutree.h                           |  13 +-
>  include/trace/events/rcu.h                         |   1 +
>  init/Kconfig                                       | 349 +----------
>  kernel/locking/lockdep.c                           | 176 +++---
>  kernel/rcu/Kconfig                                 | 242 ++++++++
>  kernel/rcu/Kconfig.debug                           |  82 +++
>  kernel/rcu/Makefile                                |   2 -
>  kernel/rcu/rcu.h                                   | 277 +++++++++
>  kernel/rcu/rcuperf.c                               | 129 +++-
>  kernel/rcu/rcutorture.c                            |  21 +-
>  kernel/rcu/srcu.c                                  | 661 ---------------------
>  kernel/rcu/srcutiny.c                              |  86 +--
>  kernel/rcu/srcutree.c                              | 187 ++++--
>  kernel/rcu/tiny.c                                  |  54 +-
>  kernel/rcu/tiny_plugin.h                           | 123 ----
>  kernel/rcu/tree.c                                  | 195 +++---
>  kernel/rcu/tree.h                                  | 109 +---
>  kernel/rcu/tree_exp.h                              |   2 +-
>  kernel/rcu/tree_plugin.h                           | 573 +++---------------
>  kernel/rcu/tree_trace.c                            | 494 ---------------
>  kernel/rcu/update.c                                |  77 ++-
>  kernel/sched/core.c                                |   8 +-
>  kernel/time/Kconfig                                |  50 --
>  lib/Kconfig.debug                                  | 184 +-----
>  lib/Makefile                                       |   3 -
>  scripts/checkpatch.pl                              |  17 -
>  .../selftests/rcutorture/bin/configcheck.sh        |   2 +-
>  .../testing/selftests/rcutorture/bin/kvm-build.sh  |   2 +-
>  tools/testing/selftests/rcutorture/bin/kvm.sh      |   5 +-
>  .../selftests/rcutorture/configs/rcu/CFLIST        |   2 +
>  .../selftests/rcutorture/configs/rcu/SRCU-C.boot   |   1 +
>  .../selftests/rcutorture/configs/rcu/SRCU-N        |   2 +-
>  .../selftests/rcutorture/configs/rcu/SRCU-P        |   6 +-
>  .../selftests/rcutorture/configs/rcu/SRCU-t        |  10 +
>  .../selftests/rcutorture/configs/rcu/SRCU-t.boot   |   1 +
>  .../selftests/rcutorture/configs/rcu/SRCU-u        |   9 +
>  .../selftests/rcutorture/configs/rcu/SRCU-u.boot   |   1 +
>  .../selftests/rcutorture/configs/rcu/TINY02        |   5 +-
>  .../selftests/rcutorture/configs/rcu/TREE01        |   5 +-
>  .../selftests/rcutorture/configs/rcu/TREE01.boot   |   4 +
>  .../selftests/rcutorture/configs/rcu/TREE02        |   5 +-
>  .../selftests/rcutorture/configs/rcu/TREE03        |   4 -
>  .../selftests/rcutorture/configs/rcu/TREE03.boot   |   4 +
>  .../selftests/rcutorture/configs/rcu/TREE04        |   4 -
>  .../selftests/rcutorture/configs/rcu/TREE05        |   4 -
>  .../selftests/rcutorture/configs/rcu/TREE05.boot   |   3 +
>  .../selftests/rcutorture/configs/rcu/TREE06        |   4 +-
>  .../selftests/rcutorture/configs/rcu/TREE06.boot   |   3 +
>  .../selftests/rcutorture/configs/rcu/TREE07        |   6 -
>  .../selftests/rcutorture/configs/rcu/TREE08        |   1 -
>  .../selftests/rcutorture/configs/rcu/TREE08-T      |  21 -
>  .../selftests/rcutorture/configs/rcu/TREE08.boot   |   1 +
>  .../configs/{rcu/TREE02-T => rcuperf/TINY}         |  19 +-
>  .../selftests/rcutorture/configs/rcuperf/TREE      |   1 -
>  .../selftests/rcutorture/configs/rcuperf/TREE54    |   1 -
>  .../testing/selftests/rcutorture/doc/TINY_RCU.txt  |   1 -
>  .../selftests/rcutorture/doc/TREE_RCU-kconfig.txt  |  34 +-
>  .../rcutorture/formal/srcu-cbmc/modify_srcu.awk    |   2 +-
>  79 files changed, 1496 insertions(+), 4211 deletions(-)
>  delete mode 100644 Documentation/RCU/trace.txt
>  delete mode 100644 include/linux/srcuclassic.h
>  create mode 100644 kernel/rcu/Kconfig
>  create mode 100644 kernel/rcu/Kconfig.debug
>  delete mode 100644 kernel/rcu/srcu.c
>  delete mode 100644 kernel/rcu/tree_trace.c
>  create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/SRCU-C.boot
>  create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/SRCU-t
>  create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/SRCU-t.boot
>  create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/SRCU-u
>  create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/SRCU-u.boot
>  delete mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE08-T
>  rename tools/testing/selftests/rcutorture/configs/{rcu/TREE02-T => rcuperf/TINY} (50%)

Pulled, thanks a lot Paul!

	Ingo

  reply	other threads:[~2017-06-13  6:41 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-12 21:37 [GIT PULL rcu/next] RCU commits for 4.13 Paul E. McKenney
2017-06-13  6:41 ` Ingo Molnar [this message]
2017-06-14  2:54 ` Andrea Parri
2017-06-14  4:33   ` Paul E. McKenney
2017-06-14 14:33     ` Andrea Parri
2017-06-14 20:23       ` Paul E. McKenney
2017-06-19 16:24         ` Andrea Parri
2017-06-27 20:58           ` Paul E. McKenney
2017-06-27 21:48             ` Linus Torvalds
2017-06-27 23:37               ` Paul E. McKenney
2017-06-28 15:31                 ` Alan Stern
2017-06-28 17:03                   ` Paul E. McKenney
2017-06-28 20:16                     ` Alan Stern
2017-06-28 23:54                       ` Paul E. McKenney
2017-06-29  0:05                         ` Linus Torvalds
2017-06-29  0:45                           ` Paul E. McKenney
2017-06-29  3:17                             ` Boqun Feng
2017-06-29 18:47                               ` Paul E. McKenney
2017-06-29 11:36                             ` Will Deacon
2017-06-29 11:38                           ` Will Deacon
2017-06-29 15:59                             ` Alan Stern
2017-06-29 18:11                               ` Paul E. McKenney
2017-06-30  2:51                                 ` Boqun Feng
2017-06-30  4:02                                   ` Paul E. McKenney
2017-06-30  5:16                                     ` Boqun Feng
2017-06-30 17:31                                       ` Paul E. McKenney
2017-06-29 18:46                             ` Paul E. McKenney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170613064123.ezqhpcpxoko35otx@gmail.com \
    --to=mingo@kernel.org \
    --cc=arnd@arndb.de \
    --cc=dcb314@hotmail.com \
    --cc=drozdziak1@gmail.com \
    --cc=fengguang.wu@intel.com \
    --cc=fweisbec@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=kjlx@templeofstupid.com \
    --cc=ldr709@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nico@linaro.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=priyalee.kushwaha@intel.com \
    --cc=riel@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=vegard.nossum@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).