Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1558947 > unrolled thread

[PATCH RFC v2 tip/core/rcu 0/2] Make RCU synchronous grace periods work throughout boot

Started by"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
First post2017-01-14 12:30 +0100
Last post2017-01-14 12:30 +0100
Articles 1 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH RFC v2 tip/core/rcu 0/2] Make RCU synchronous grace periods  work throughout boot "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2017-01-14 12:30 +0100

#1558947 — [PATCH RFC v2 tip/core/rcu 0/2] Make RCU synchronous grace periods work throughout boot

From"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Date2017-01-14 12:30 +0100
Subject[PATCH RFC v2 tip/core/rcu 0/2] Make RCU synchronous grace periods work throughout boot
Message-ID<sZuGZ-5kp-1@gated-at.bofh.it>
Hello!

This series fixes a regression in v4.9 where code relied on RCU synchronous
grace periods working between the time that the scheduler spawned the
first task and RCU finished spawning all of its tasks.  This series makes
RCU able to handle synchronous grace periods throughout boot.  Please
see the second patch's commit log for more details.

The patches are as follows:

1.	Remove cond_resched() from Tiny synchronize_sched(), thus allowing
	Tiny RCU's synchronize_sched() to be used throughout boot
	without annoying splats.

2.	Make RCU's expedited synchronous grace periods work throughout
	boot, and promote non-expedited grace periods to expedited
	grace periods during boot from the time that the scheduler
	spawns the first task until after RCU has spawned all of its
	kthreads.

Changes from v1:

o	Added the fix for Tiny RCU.

o	Applied Borislav Petkov's feedback for Tree RCU.

o	Added a bunch of Tested-by lines.

							Thanx, Paul

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

 include/linux/rcupdate.h |    4 +++
 kernel/rcu/rcu.h         |    1 
 kernel/rcu/tiny.c        |    4 ---
 kernel/rcu/tiny_plugin.h |    9 ++++++--
 kernel/rcu/tree.c        |   33 ++++++++++++++++++-----------
 kernel/rcu/tree_exp.h    |   52 +++++++++++++++++++++++++++++++++++++----------
 kernel/rcu/tree_plugin.h |    2 -
 kernel/rcu/update.c      |   38 +++++++++++++++++++++++++++-------
 8 files changed, 104 insertions(+), 39 deletions(-)

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web