Re: [PATCH 1/2] sched: fix and clean up calculate_imbalance

Rik van Riel
2014-07-29T15:18:10Z

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/29/2014 10:59 AM, Peter Zijlstra wrote:
> On Tue, Jul 29, 2014 at 11:04:50AM +0200, Vincent Guittot wrote:
>>> In situations where all the domains are overloaded, or where
>>> only the busiest domain is overloaded, that code is also
>>> superfluous, since the normal env->imbalance calculation will
>>> figure out how much to move. Remove the load_above_capacity
>>> calculation.
>>
>> IMHO, we should not remove that part which is used by
>> prefer_sibling
>>
>> Originally, we had 2 type of busiest group: overloaded or
>> imbalanced. You add a new one which has only a avg_load higher
>> than other so you should handle this new case and keep the other
>> ones unchanged
>
> Right, so we want that code for overloaded -> overloaded migrations
> such as not to cause idle cpus in an attempt to balance things.
> Idle cpus are worse than imbalance.
>
> But in case of overloaded/imb -> !overloaded migrations we can
> allow it, and in fact want to allow it in order to balance idle
> cpus.

In case the destination is over the average load, or the source is under
the average load, fix_small_imbalance() determines env->imbalance.

The "load_above_capacity" calculation is only reached when busiest is
busier than average, and the destination is under the average load.
In that case, env->imbalance ends up as the minimum of busiest - avg
and avg - target.

Is there any case where limiting it further to "load - capacity" from
the busiest domain makes a difference?

- --
All rights reversed
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJT17qlAAoJEM553pKExN6D/DgH/RbAK0Sr2Doa+zXVavx9VtU4
39pX1vh/0Rgcy1L1zCuPtKrKaV5sEGr50qH9Wui5rIXdPzykVZROYqp13d178SCY
N3wfbWsP1hAhOS5e2c4sR8WqxsTp/1Ofjyx4PoXwRautwVeWbjPE0I4Hbs2MPjwm
8idkTPpl+qBpe1NvppBm6NmZxtZEJUv5X/hoGcLxEwyAHhJaKfw22Tm1oib2/7Dj
TQy5XjqY1oiOz3/sf9AsRaZMYCmemtUPXCtCncP9rCJLxd04i/Gc0ggrU0qWHCDq
cZcrm9bCP/aYxV9QNyD8QhHuS/6C17zYCG4E2R7BpKXfJYDT8FRbb/FgSoLUVhE=
=iR13
-----END PGP SIGNATURE-----