From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: mingo@kernel.org
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: [GIT PULL rcu/next] RCU commits for 4.13
Date: Mon, 12 Jun 2017 14:37:55 -0700 [thread overview]
Message-ID: <20170612213754.GA7201@linux.vnet.ibm.com> (raw)
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%)
next reply other threads:[~2017-06-12 21:38 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-12 21:37 Paul E. McKenney [this message]
2017-06-13 6:41 ` [GIT PULL rcu/next] RCU commits for 4.13 Ingo Molnar
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=20170612213754.GA7201@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--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=mingo@kernel.org \
--cc=nico@linaro.org \
--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 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.