lkml.org 
[lkml]   [2011]   [Jun]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [GIT PULL rcu/urgent] fixes for slowdowns and softlockup
    On Tue, Jun 14, 2011 at 09:41:07PM -0700, Paul E. McKenney wrote:
    > Hello, Ingo,
    >
    > This pull request fixes a softlockup and a severe performance regression.

    Resending, this time copying LKML and a few additional people.
    For those for whom this is a duplicate, please accept my apologies.

    Thanx, Paul

    > Shaohua Li debugged a performance regression and found that RCU's shiny
    > new real-time kthreads were causing excessive lock contention in the
    > scheduler on large systems, resulting in severe performance regressions.
    > Shaohua also provided a patch that converts the RCU core back to softirq,
    > but still uses a real-time kthread to invoke the callbacks. This allows
    > RCU priority boosting to work, while greatly reducing the stress on
    > the scheduler. Shaohua's patch was tested by Alex Shi and Sasha Levin.
    >
    > What was intended to be a code-cleanup patch fixes a softlockup
    > problem reported by Daniel J Blueman. The problem was that the RCU
    > priority boosting kthread would not necessarily be awakened in a timely
    > fashion. Because kthreads are created in TASK_UNINTERRUPTIBLE state,
    > if a newly created kthread is left alone for more than two minutes,
    > softlockup warnings will be issued. This problem was fixed by the
    > code simplification -- because the binding of this kthread is only a
    > performance optimization, we can awaken it before any of its CPUs are
    > fully online, which eliminates the delay that could otherwise lead to
    > the softlockup.
    >
    > These changes are available in the git repository at:
    >
    > git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu.git rcu/urgent
    >
    > Thanx, Paul
    >
    > ------------------>
    >
    > Paul E. McKenney (1):
    > rcu: Simplify curing of load woes
    >
    > Shaohua Li (1):
    > rcu: Use softirq to address performance regression
    >
    > Documentation/filesystems/proc.txt | 1 +
    > include/linux/interrupt.h | 1 +
    > include/trace/events/irq.h | 3 +-
    > kernel/rcutree.c | 88 ++++++++++++++++-------------------
    > kernel/rcutree.h | 1 +
    > kernel/rcutree_plugin.h | 20 ++++----
    > kernel/softirq.c | 2 +-
    > tools/perf/util/trace-event-parse.c | 1 +
    > 8 files changed, 57 insertions(+), 60 deletions(-)


    \
     
     \ /
      Last update: 2011-06-15 17:01    [W:0.043 / U:59.524 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site