Re: 2.6.14-rt22 (and mainline) excessive latency

From: Lee Revell
Date: Thu Dec 22 2005 - 23:18:24 EST


On Thu, 2005-12-22 at 20:07 -0800, Paul E. McKenney wrote:
> On Wed, Dec 21, 2005 at 02:54:18PM -0500, Lee Revell wrote:
> > On Wed, 2005-12-21 at 05:36 -0800, Paul E. McKenney wrote:
> > > On Tue, Dec 20, 2005 at 10:32:48PM -0500, Lee Revell wrote:
> > > > On Tue, 2005-12-20 at 17:47 -0800, Paul E. McKenney wrote:
> > > > > On Tue, Dec 20, 2005 at 05:24:42AM +0100, Ingo Molnar wrote:
> > > > > >
> > > > > > * Lee Revell <rlrevell@xxxxxxxxxxx> wrote:
> > > > > >
> > > > > > > I captured this 3+ ms latency trace when killing a process with a few
> > > > > > > thousand threads. Can a cond_resched be added to this code path?
> > > > > >
> > > > > > > bash-17992 0.n.1 29us : eligible_child (do_wait)
> > > > > > >
> > > > > > > [ 3000+ of these deleted ]
> > > > > > >
> > > > > > > bash-17992 0.n.1 3296us : eligible_child (do_wait)
> > > > > >
> > > > > > Atomicity of signal delivery is pretty much a must, so i'm not sure this
> > > > > > particular latency can be fixed, short of running PREEMPT_RT. Paul E.
> > > > > > McKenney is doing some excellent stuff by RCU-ifying the task lookup and
> > > > > > signal code, but i'm not sure whether it could cover do_wait().
> > > > >
> > > > > Took a quick break from repeatedly shooting myself in the foot with
> > > > > RCU read-side priority boosting (still have a few toes left) to take
> > > > > a quick look at this. The TASK_TRACED and TASK_STOPPED cases seem
> > > > > non-trivial, and I am concerned about races with exit.
> > > > >
> > > > > Any thoughts on whether the latency is due to contention on the
> > > > > tasklist lock vs. the "goto repeat" in do_wait()?
> > > >
> > > > It's a UP system so I'd be surprised if there were any contention.
> > >
> > > Couldn't there be contention due to preemption of someone holding
> > > the tasklist lock?
> >
> > But I'm running with PREEMPT_DESKTOP (specifically I configured a system
> > to have the exact same preemption model as mainline - PREEMPT_DESKTOP
> > with no soft/hardirq preemption) so holding a spinlock will disable
> > preemption.
>
> My head just exploded. I will see about getting you a
> CONFIG_FREAKING_INSANE patch, if you are willing to test it.

I'm not sure I know what you mean but sure, I'll try whatever you come
up with.

Lee

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