Skip to content

In-kernel programmatic grace-period expediting for v4.1

Paul E. McKenney lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5rcu: Provide rcu_expedite_gp() and rcu_unexpedite_gp()include/linux/rcupdate.h kernel/rcu/update.c+68 -00 replies
2/5rcu: Add rcu_expedite_gp() and rcu_unexpedite_gp() to rcutorturekernel/rcu/rcutorture.c+25 -00 replies
3/5rcu: Update from rcu_expedited variable to rcu_gp_is_expedited()kernel/rcu/srcu.c kernel/rcu/tree.c kernel/rcu/tree_plugin.h+7 -60 replies
4/5rcu: Add Kconfig option to expedite grace periods during bootinclude/linux/rcupdate.h init/Kconfig kernel/rcu/update.c+24 -10 replies
5/5rcutorture: Make consistent use of variableskernel/rcu/rcutorture.c+1 -10 replies

Reviews trailers per patch

None of the 5 patches has a Reviewed-by or Acked-by.

PatchArjan van de Ven
1/5
2/5
3/5
4/5T-b
5/5

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH tip/core/rcu 0/5] In-kernel programmatic grace-period expediting for v4.1

Hello!

This series provides an in-kernel API to expedite and unexpedite normal RCU grace-period primitives such as synchronize_rcu(). It also provides a Kconfig parameter that implicitly expedites at boot time, along with a function that notes the end of in-kernel boot. This last function is intended to be invoked just before init is spawned.

1. Provide rcu_expedite_gp() and rcu_unexpedite_gp().

2. Add rcu_expedite_gp() and rcu_unexpedite_gp() to rcutorture.

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

4. Add a CONFIG_RCU_EXPEDITE_BOOT Kconfig parameter that emulates
a very early boot rcu_expedite_gp(). Also provide a new rcu_end_inkernel_boot() function that provides the corresponding rcu_unexpedite_gp() if CONFIG_RCU_EXPEDITE_BOOT.

5. Make consistent use of variables in rcu_torture_writer().

Thanx, Paul

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

 b/include/linux/rcupdate.h |   21 ++++++++++++++++
 b/init/Kconfig             |   13 +++++++++
 b/kernel/rcu/rcutorture.c  |   27 +++++++++++++++++++-
 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, 125 insertions(+), 8 deletions(-)