Re: sched: tweak select_idle_sibling to look for idle threads

From: Mike Galbraith
Date: Mon May 09 2016 - 05:39:13 EST


On Mon, 2016-05-09 at 09:13 +0800, Yuyang Du wrote:
> On Mon, May 09, 2016 at 09:44:13AM +0200, Mike Galbraith wrote:

> > In a perfect world, running only Chris' benchmark on an otherwise idle
> > box, there would never _be_ any work to steal.
>
> What is the perfect world like? I don't get what you mean.

In a perfect world from this benchmark's perspective, when you fork or
wake while box is underutilized, wakee/child lands on an idle CPU. To
this benchmark, anything else is broken.

> > In the real world, we
> > smooth utilization, optimistically peek at this/that, and intentionally
> > throttle idle balancing (etc etc), which adds up to an imperfect world
> > for this (based on real world load) benchmark.
>
> So, is this a shout-out: these parts should be coordinated better?

Switching to instantaneous load along with the cpu reservation hackery
made Chris's benchmark a happy camper. Is that the answer? Nope, just
verification of the where the problem lives.

> > > En... should we try remove recording last_wakee?
> >
> > The more the merrier, go for it! :)
>
> Nuh, really, this heuristic is too heuristic, :)
> The totality of all possible cases is scary.

Well, make it better. The author provided evidence when it was born.

-Mike