Re: [git pull] scheduler fixes

Peter Zijlstra
2009-01-18T15:28:30Z

On Sun, 2009-01-18 at 15:08 +0100, Mike Galbraith wrote:
> On Sat, 2009-01-17 at 13:00 +0100, Peter Zijlstra wrote:
> > On Sat, 2009-01-17 at 11:34 +0100, Mike Galbraith wrote:
> > > > Right, how about we flip the 'initial' case in place_entity() for !
> > > > nr_exclusive wakeups.
> > >
> > > Wouldn't that be more drastic than sleep denial?
> >
> > Strictly speaking that DEBIT thing is valid for each wakeup, IIRC we
> > restricted it to clone() only because that was where we could actually
> > observe these latency spikes using a fork-bomb.
> >
> > This reduces the latency hits to around 400ms, which is about right for
> > the given load.
>
> Disregarding the startup landmine for the moment, maybe we should put a
> buddy slice knob in the user's hands, so they can tune latency, along
> with a full on/off switch for those who care not one whit about
> scalability.

I'm not particularly fond of that idea because it only helps for this
particular workload where any one task isn't actually running for very
long.

If however your workload consists of cpu hogs, each will run for the
full wakeup preemption 'slice' you now see these buddy pairs do.

Also, buddies really work for throughput, so I don't particularly fancy
weakening them below what a normal cpu-hog can already do.