Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Paul E. McKenney <paulmck <at> linux.vnet.ibm.com>
Subject: [PATCH tip/core/rcu 0/23] Improvements to RT response on big systems and expedited functions
Newsgroups: gmane.linux.kernel
Date: Thursday 30th August 2012 18:18:11 UTC (over 4 years ago)
Hello!

This patch series contains additional improvements to latency for
large systems (beyond those in 3.6), along with improvements to
synchronize_rcu_expedited().  It also fixes one race introduced by the
latency improvements and another that was there to start with (but made
more probable by the latency improvements).  These are in a single
series due to conflicts that would otherwise occur.  The individual
patches are as follows:

1-6.	Move RCU grace-period initialization and cleanup into a kthread:
	1.	Move RCU grace-period initialization into kthread.
	2.	Allow RCU grace-period initialization to be preempted.
	3.	Move RCU grace-period cleanup into kthread.
	4.	Allow RCU grace-period cleanup to be preempted.
	5.	Prevent offline CPUs from executing RCU core code.
	6.	Break up rcu_gp_kthread() into subfunctions.
7.	Provide an OOM handler to allow lazy callbacks to be motivated
	under memory pressure.
8.	Segregate rcu_state fields to improve cache locality
	(Courtesy of Dimitri Sivanich).
9-12.	Move RCU grace-period forcing into a kthread.
	9.	Move quiescent-state forcing into kthread.
	10.	Allow RCU quiescent-state forcing to be preempted.
	11.	Adjust debugfs tracing for kthread-based quiescent-state
		forcing.
	12.	Prevent force_quiescent_state() memory contention.
13.	Control grace-period duration from sysfs.
14.	Remove now-unused rcu_state fields.
15.	Make rcutree module parameters visible in sysfs.
16.	Prevent initialization-time quiescent-state race.
17.	Fix day-zero grace-period initialization/cleanup race.
18.	Add random PROVE_RCU_DELAY to provoke initalization races.
19.	Adjust for unconditional ->completed assignment.	
20.	Remove callback acceleration from grace-period initialization
	due it no longer being safe.
21.	Eliminate signed overflow in synchronize_rcu_expedited().
22.	Reduce synchronize_rcu_expedited() latency.
23.	Simplify quiescent-state detection.

							Thanx, Paul

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

 b/Documentation/RCU/trace.txt         |   43 -
 b/Documentation/kernel-parameters.txt |   11 
 b/kernel/rcutree.c                    |  191 +++++---
 b/kernel/rcutree.h                    |    3 
 b/kernel/rcutree_plugin.h             |   80 +++
 b/kernel/rcutree_trace.c              |    3 
 kernel/rcutree.c                      |  805
+++++++++++++++++-----------------
 kernel/rcutree.h                      |   25 -
 kernel/rcutree_plugin.h               |   48 +-
 kernel/rcutree_trace.c                |   12 
 10 files changed, 690 insertions(+), 531 deletions(-)
 
CD: 346ms