Re: sched: tweak select_idle_sibling to look for idle threads

From: Mike Galbraith
Date: Wed Apr 13 2016 - 11:05:55 EST


On Wed, 2016-04-13 at 10:36 -0400, Chris Mason wrote:
> On Wed, Apr 13, 2016 at 04:22:58PM +0200, Mike Galbraith wrote:

> > What exactly do you mean by failed affine wakeups? Failed because
> > wake_wide() said we don't want one, or because wake_affine() said we
> > can't have one? If the later, my thought bubble may have just burst,
> > but it still "feels" right.
>
> I mean this number:
>
> schedstat_inc(p, se.statistics.nr_wakeups_affine_attempts);
>
> Is much much much higher than this number:
>
> schedstat_inc(p, se.statistics.nr_wakeups_affine);
>
> So, wake_affine said we can't have one. I made a script to sum it up
> across all the threads of the webserver workload.

Hm, ok, that doesn't really tell us more than there's more to the load
than the 1:N bits that wake_wide() apparently did identify fairly well
last go, so targeting them still might help.

-Mike