All of lore.kernel.org
 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, 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: Re: [GIT PULL rcu/next] RCU commits for 4.11
Date: Tue, 31 Jan 2017 07:47:57 +0100	[thread overview]
Message-ID: <20170131064757.GA23391@gmail.com> (raw)
In-Reply-To: <20170130172811.GA22176@linux.vnet.ibm.com>


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

> 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

Pulled into tip:core/rcu, thanks a lot Paul!

	Ingo

      reply	other threads:[~2017-01-31  6:48 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-30 17:28 [GIT PULL rcu/next] RCU commits for 4.11 Paul E. McKenney
2017-01-31  6:47 ` Ingo Molnar [this message]

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=20170131064757.GA23391@gmail.com \
    --to=mingo@kernel.org \
    --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=mixaskok@gmail.com \
    --cc=paulmck@linux.vnet.ibm.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.