All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: mingo@kernel.org, laijs@cn.fujitsu.com, dipankar@in.ibm.com,
	akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
	josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org,
	rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com,
	dvhart@linux.intel.com, fweisbec@gmail.com, oleg@redhat.com,
	bobby.prani@gmail.com
Subject: [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods
Date: Thu, 19 Feb 2015 21:08:50 -0800	[thread overview]
Message-ID: <20150220050850.GA32639@linux.vnet.ibm.com> (raw)

Hello!

This series, possibly for v3.21, contains changes that allow in-kernel
code to specify that all subsequent synchronous grace-period primitives
(synchronize_rcu() and friends) be expedited.  New rcu_expedite_gp()
and rcu_unexpedite_gp() primitives enable and disable expediting,
and these may be nested.  Note that the rcu_expedited boot/sysfs
variable, if non-zero, causes expediting to happen regardless of calls
to rcu_expedite_gp().

Because one of the use cases for these primitives is to expedite
grace periods during the in-kernel portion of boot, a new Kconfig
parameter named CONFIG_RCU_EXPEDITE_BOOT causes the kernel to act
as if rcu_expedite_gp() was called very early in boot.  At the end
of boot (presumably just before init is spawned), a call to
rcu_end_inkernel_boot() will provide the matching rcu_unexpedite_gp()
if required.

The patches in this series are as follows:

1.	Add rcu_expedite_gp() and rcu_unexpedite_gp() functions.

2.	Add rcutorture tests for rcu_expedite_gp() and rcu_unexpedite_gp().

3.	Change open-coded access to the rcu_expedited variable to
	instead use a new rcu_gp_is_expedited() function.

4.	Add the CONFIG_RCU_EXPEDITE_BOOT Kconfig parameter and
	the rcu_end_inkernel_boot() function.

This passes light rcutorture testing.

							Thanx, Paul

------------------------------------------------------------------------

 b/include/linux/rcupdate.h |   21 ++++++++++++++++
 b/init/Kconfig             |   13 +++++++++
 b/kernel/rcu/rcutorture.c  |   24 ++++++++++++++++++
 b/kernel/rcu/srcu.c        |    2 -
 b/kernel/rcu/tree.c        |    9 +++---
 b/kernel/rcu/tree_plugin.h |    2 -
 b/kernel/rcu/update.c      |   59 ++++++++++++++++++++++++++++++++++++++++++++-
 7 files changed, 123 insertions(+), 7 deletions(-)


             reply	other threads:[~2015-02-20  5:08 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-20  5:08 Paul E. McKenney [this message]
2015-02-20  5:09 ` [PATCH v2 RFC tip/core/rcu 1/4] rcu: Provide rcu_expedite_gp() and rcu_unexpedite_gp() Paul E. McKenney
2015-02-20  5:09   ` [PATCH v2 RFC tip/core/rcu 2/4] rcu: Add rcu_expedite_gp() and rcu_unexpedite_gp() to rcutorture Paul E. McKenney
2015-02-20  5:09   ` [PATCH v2 RFC tip/core/rcu 3/4] rcu: Update from rcu_expedited variable to rcu_gp_is_expedited() Paul E. McKenney
2015-02-20  5:09   ` [PATCH v2 RFC tip/core/rcu 4/4] rcu: Add Kconfig option to expedite grace periods during boot Paul E. McKenney
2015-02-20  9:11 ` [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods Peter Zijlstra
2015-02-20 16:37   ` Paul E. McKenney
2015-02-20 16:54     ` Peter Zijlstra
2015-02-20 17:14       ` Paul E. McKenney
2015-02-20 17:32         ` Arjan van de Ven
2015-02-20 17:43           ` Peter Zijlstra
2015-02-20 17:45             ` Arjan van de Ven
2015-02-21 16:08               ` Peter Zijlstra
2015-02-22  1:43                 ` Paul E. McKenney
2015-02-20 18:38             ` Paul E. McKenney
2015-02-21 16:11               ` Peter Zijlstra
2015-02-21 17:59                 ` Paul E. McKenney
2015-02-20 18:27           ` Paul E. McKenney
2015-02-20 18:29             ` Arjan van de Ven
2015-02-20 18:39               ` Paul E. McKenney
2015-02-21 15:51             ` Arjan van de Ven
2015-02-21 18:00               ` Paul E. McKenney
2015-02-22  3:58               ` Josh Triplett
2015-02-22  6:10                 ` Paul E. McKenney
2015-02-22 18:31                 ` Arjan van de Ven
2015-02-22 18:48                   ` Josh Triplett
2015-02-21  6:04       ` Josh Triplett
2015-02-21 15:12         ` Mathieu Desnoyers
2015-02-21 23:58           ` 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=20150220050850.GA32639@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=bobby.prani@gmail.com \
    --cc=dhowells@redhat.com \
    --cc=dipankar@in.ibm.com \
    --cc=dvhart@linux.intel.com \
    --cc=edumazet@google.com \
    --cc=fweisbec@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@kernel.org \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /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.