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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to