From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: mingo@kernel.org
Cc: linux-kernel@vger.kernel.org, penguin-kernel@I-love.SAKURA.ne.jp,
bigeasy@linutronix.de, mathieu.desnoyers@efficios.com,
byungchul.park@lge.com, tklauser@distanz.ch,
matt@codeblueprint.co.uk, joelaf@google.com, ldr709@gmail.com,
yang.shi@linaro.org, josh@joshtriplett.org, mixaskok@gmail.com,
boqun.feng@gmail.com, chris.friesen@windriver.com,
richard@nod.at, vincent.weaver@maine.edu
Subject: [GIT PULL rcu/next] RCU commits for 4.11
Date: Mon, 30 Jan 2017 09:28:11 -0800 [thread overview]
Message-ID: <20170130172811.GA22176@linux.vnet.ibm.com> (raw)
Hello, Ingo,
This pull request contains the following changes:
1. Documentation updates.
http://lkml.kernel.org/r/20170114085032.GA18485@linux.vnet.ibm.com
2. Dyntick updates, consolidating open-coded counter accesses
into a well-defined API.
http://lkml.kernel.org/r/20170124214602.GA2269@linux.vnet.ibm.com
3. Miscellaneous fixes.
http://lkml.kernel.org/r/20170124215111.GB2269@linux.vnet.ibm.com
4. SRCU updates: Simplify algorithm, add formal verification.
http://lkml.kernel.org/r/20170124220011.GC2269@linux.vnet.ibm.com
5. Torture-test updates.
http://lkml.kernel.org/r/20170114092533.GA23650@linux.vnet.ibm.com
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 31945aa9f14085c81cb3257e51bb210698b78626:
Merge branches 'doc.2017.01.15b', 'dyntick.2017.01.23a', 'fixes.2017.01.23a', 'srcu.2017.01.25a' and 'torture.2017.01.15b' into HEAD (2017-01-25 12:56:05 -0800)
----------------------------------------------------------------
Byungchul Park (1):
rcu: Only dump stalled-tasks stacks if there was a real stall
Joel Fernandes (1):
llist: Clarify comments about when locking is needed
Lance Roy (2):
srcu: Implement more-efficient reader counts
rcutorture: Add CBMC-based formal verification for SRCU
Mathieu Desnoyers (1):
Fix: Disable sys_membarrier when nohz_full is enabled
Matt Fleming (1):
rcu: Enable RCU tracepoints by default to aid in debugging
Paul E. McKenney (33):
rcu: Design documentation for expedited grace periods
doc: Update control-dependencies section of memory-barriers.txt
doc: Quick-Quiz answers are now inline
doc: Add rcutree.rcu_kick_kthreads to kernel-parameters.txt
torture: Add a check for CONFIG_RCU_STALL_COMMON for TINY01
torture: Add CONFIG_PROVE_RCU_REPEATEDLY=y for TINY02
torture: Add tests without slow grace period setup/cleanup
torture: Run at least one test with CONFIG_DEBUG_OBJECTS_RCU_HEAD
torture: Run one test with DEBUG_LOCK_ALLOC but not PROVE_LOCKING
torture: Run a couple scenarios with CONFIG_RCU_EQS_DEBUG
torture: Update RCU test scenario documentation
torture: Enable DEBUG_OBJECTS_RCU_HEAD for Tiny RCU
rcu: Abstract the dynticks momentary-idle operation
rcu: Abstract the dynticks snapshot operation
lockdep: Make RCU suspicious-access splats use pr_err
rcu: Remove unneeded rcu_process_callbacks() declarations
rcu: Add long-term CPU kicking
rcu: Remove short-term CPU kicking
rcu: Once again use NMI-based stack traces in stall warnings
rcu: Re-enable TASKS_RCU for User Mode Linux
rcu: Don't wake rcuc/X kthreads on NOCB CPUs
rcu: Add comment headers to expedited-grace-period counter functions
rcu: Make rcu_cpu_starting() use its "cpu" argument
rcu: Fix comment in rcu_organize_nocb_kthreads()
rcu: Eliminate unused expedited_normal counter
rcu: Add lockdep checks to synchronous expedited primitives
rcu: Abstract dynticks extended quiescent state enter/exit operations
rcu: Abstract extended quiescent state determination
rcu: Check cond_resched_rcu_qs() state less often to reduce GP overhead
rcu: Adjust FQS offline checks for exact online-CPU detection
srcu: Force full grace-period ordering
srcu: Reduce probability of SRCU ->unlock_count[] counter overflow
Merge branches 'doc.2017.01.15b', 'dyntick.2017.01.23a', 'fixes.2017.01.23a', 'srcu.2017.01.25a' and 'torture.2017.01.15b' into HEAD
Sebastian Andrzej Siewior (1):
rcu: update: Make RCU_EXPEDITE_BOOT be the default
Tetsuo Handa (1):
doc: Fix RCU requirements typos
Tobias Klauser (1):
rcu: Remove unused but set variable
Yang Shi (1):
locktorture: Fix potential memory leak with rw lock test
.../Design/Data-Structures/Data-Structures.html | 5 +-
.../Design/Expedited-Grace-Periods/ExpRCUFlow.svg | 830 +++++++++++++++++++++
.../Expedited-Grace-Periods/ExpSchedFlow.svg | 826 ++++++++++++++++++++
.../Expedited-Grace-Periods.html | 626 ++++++++++++++++
.../RCU/Design/Expedited-Grace-Periods/Funnel0.svg | 275 +++++++
.../RCU/Design/Expedited-Grace-Periods/Funnel1.svg | 275 +++++++
.../RCU/Design/Expedited-Grace-Periods/Funnel2.svg | 287 +++++++
.../RCU/Design/Expedited-Grace-Periods/Funnel3.svg | 323 ++++++++
.../RCU/Design/Expedited-Grace-Periods/Funnel4.svg | 323 ++++++++
.../RCU/Design/Expedited-Grace-Periods/Funnel5.svg | 335 +++++++++
.../RCU/Design/Expedited-Grace-Periods/Funnel6.svg | 335 +++++++++
.../RCU/Design/Expedited-Grace-Periods/Funnel7.svg | 347 +++++++++
.../RCU/Design/Expedited-Grace-Periods/Funnel8.svg | 311 ++++++++
.../RCU/Design/Requirements/Requirements.html | 12 +-
Documentation/RCU/trace.txt | 5 +-
Documentation/admin-guide/kernel-parameters.txt | 7 +
Documentation/memory-barriers.txt | 70 +-
include/linux/llist.h | 37 +-
include/linux/rcupdate.h | 12 +
include/linux/rcutiny.h | 6 +
include/linux/srcu.h | 10 +-
include/trace/events/rcu.h | 10 +-
init/Kconfig | 14 -
kernel/locking/lockdep.c | 12 +-
kernel/locking/locktorture.c | 6 +
kernel/membarrier.c | 4 +
kernel/rcu/rcutorture.c | 19 +-
kernel/rcu/srcu.c | 143 ++--
kernel/rcu/tiny.c | 2 -
kernel/rcu/tree.c | 262 ++++---
kernel/rcu/tree.h | 15 +-
kernel/rcu/tree_exp.h | 38 +-
kernel/rcu/tree_plugin.h | 7 +-
kernel/rcu/tree_trace.c | 5 +-
kernel/rcu/update.c | 6 +-
lib/Kconfig.debug | 1 +
.../selftests/rcutorture/configs/rcu/CFcommon | 3 -
.../selftests/rcutorture/configs/rcu/TINY01 | 1 +
.../selftests/rcutorture/configs/rcu/TINY02 | 3 +-
.../selftests/rcutorture/configs/rcu/TREE01 | 3 +
.../selftests/rcutorture/configs/rcu/TREE02 | 4 +
.../selftests/rcutorture/configs/rcu/TREE03 | 3 +
.../selftests/rcutorture/configs/rcu/TREE04 | 4 +
.../selftests/rcutorture/configs/rcu/TREE05 | 3 +
.../selftests/rcutorture/configs/rcu/TREE06 | 3 +
.../selftests/rcutorture/configs/rcu/TREE07 | 3 +
.../selftests/rcutorture/configs/rcu/TREE08 | 4 +-
.../selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 33 +-
.../rcutorture/formal/srcu-cbmc/.gitignore | 1 +
.../selftests/rcutorture/formal/srcu-cbmc/Makefile | 16 +
.../formal/srcu-cbmc/empty_includes/linux/delay.h | 0
.../formal/srcu-cbmc/empty_includes/linux/export.h | 0
.../formal/srcu-cbmc/empty_includes/linux/mutex.h | 0
.../formal/srcu-cbmc/empty_includes/linux/percpu.h | 0
.../srcu-cbmc/empty_includes/linux/preempt.h | 0
.../srcu-cbmc/empty_includes/linux/rcupdate.h | 0
.../formal/srcu-cbmc/empty_includes/linux/sched.h | 0
.../formal/srcu-cbmc/empty_includes/linux/smp.h | 0
.../srcu-cbmc/empty_includes/linux/workqueue.h | 0
.../srcu-cbmc/empty_includes/uapi/linux/types.h | 0
.../formal/srcu-cbmc/include/linux/.gitignore | 1 +
.../formal/srcu-cbmc/include/linux/kconfig.h | 1 +
.../formal/srcu-cbmc/include/linux/types.h | 155 ++++
.../rcutorture/formal/srcu-cbmc/modify_srcu.awk | 375 ++++++++++
.../rcutorture/formal/srcu-cbmc/src/assume.h | 16 +
.../rcutorture/formal/srcu-cbmc/src/barriers.h | 41 +
.../rcutorture/formal/srcu-cbmc/src/bug_on.h | 13 +
.../formal/srcu-cbmc/src/combined_source.c | 13 +
.../rcutorture/formal/srcu-cbmc/src/config.h | 27 +
.../rcutorture/formal/srcu-cbmc/src/include_srcu.c | 31 +
.../rcutorture/formal/srcu-cbmc/src/int_typedefs.h | 33 +
.../rcutorture/formal/srcu-cbmc/src/locks.h | 220 ++++++
.../rcutorture/formal/srcu-cbmc/src/misc.c | 11 +
.../rcutorture/formal/srcu-cbmc/src/misc.h | 58 ++
.../rcutorture/formal/srcu-cbmc/src/percpu.h | 92 +++
.../rcutorture/formal/srcu-cbmc/src/preempt.c | 78 ++
.../rcutorture/formal/srcu-cbmc/src/preempt.h | 58 ++
.../formal/srcu-cbmc/src/simple_sync_srcu.c | 50 ++
.../rcutorture/formal/srcu-cbmc/src/workqueues.h | 102 +++
.../srcu-cbmc/tests/store_buffering/.gitignore | 1 +
.../srcu-cbmc/tests/store_buffering/Makefile | 11 +
.../tests/store_buffering/assert_end.fail | 1 +
.../srcu-cbmc/tests/store_buffering/force.fail | 1 +
.../srcu-cbmc/tests/store_buffering/force2.fail | 1 +
.../srcu-cbmc/tests/store_buffering/force3.fail | 1 +
.../srcu-cbmc/tests/store_buffering/main.pass | 0
.../formal/srcu-cbmc/tests/store_buffering/test.c | 72 ++
.../formal/srcu-cbmc/tests/test_script.sh | 102 +++
88 files changed, 7150 insertions(+), 300 deletions(-)
create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/ExpRCUFlow.svg
create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/ExpSchedFlow.svg
create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Expedited-Grace-Periods.html
create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel0.svg
create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel1.svg
create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel2.svg
create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel3.svg
create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel4.svg
create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel5.svg
create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel6.svg
create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel7.svg
create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel8.svg
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/.gitignore
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/Makefile
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/delay.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/export.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/mutex.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/percpu.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/preempt.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/rcupdate.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/sched.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/smp.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/workqueue.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/uapi/linux/types.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/.gitignore
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/kconfig.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/types.h
create mode 100755 tools/testing/selftests/rcutorture/formal/srcu-cbmc/modify_srcu.awk
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/assume.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/barriers.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/bug_on.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/combined_source.c
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/config.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/include_srcu.c
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/int_typedefs.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/locks.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/misc.c
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/misc.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/percpu.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/preempt.c
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/preempt.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/simple_sync_srcu.c
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/workqueues.h
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/.gitignore
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/Makefile
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/assert_end.fail
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/force.fail
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/force2.fail
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/force3.fail
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/main.pass
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/test.c
create mode 100755 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/test_script.sh
next reply other threads:[~2017-01-30 17:28 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-30 17:28 Paul E. McKenney [this message]
2017-01-31 6:47 ` [GIT PULL rcu/next] RCU commits for 4.11 Ingo Molnar
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=20170130172811.GA22176@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=bigeasy@linutronix.de \
--cc=boqun.feng@gmail.com \
--cc=byungchul.park@lge.com \
--cc=chris.friesen@windriver.com \
--cc=joelaf@google.com \
--cc=josh@joshtriplett.org \
--cc=ldr709@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=matt@codeblueprint.co.uk \
--cc=mingo@kernel.org \
--cc=mixaskok@gmail.com \
--cc=penguin-kernel@I-love.SAKURA.ne.jp \
--cc=richard@nod.at \
--cc=tklauser@distanz.ch \
--cc=vincent.weaver@maine.edu \
--cc=yang.shi@linaro.org \
/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).