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 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.