Messages in this thread | | | Date | Tue, 29 Jul 2014 11:15:49 -0400 | From | Rik van Riel <> | Subject | Re: [PATCH 1/2] sched: fix and clean up calculate_imbalance |
| |
-----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-----
| |