public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods
@ 2015-02-20  5:08 Paul E. McKenney
  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  9:11 ` [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods Peter Zijlstra
  0 siblings, 2 replies; 29+ messages in thread
From: Paul E. McKenney @ 2015-02-20  5:08 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, laijs, dipankar, akpm, mathieu.desnoyers, josh, tglx,
	peterz, rostedt, dhowells, edumazet, dvhart, fweisbec, oleg,
	bobby.prani

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(-)


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2015-02-22 18:48 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-20  5:08 [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods Paul E. McKenney
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox