Messages in this thread | | | From | riel@redhat ... | Subject | [PATCH 0/2] load balancing fixes | Date | Mon, 28 Jul 2014 14:16:26 -0400 |
| |
Currently update_sd_pick_busiest only identifies the busiest sd that is either overloaded, or has a group imbalance. When no sd is imbalanced or overloaded, the load balancer fails to find the busiest domain.
This breaks load balancing between domains that are not overloaded, in the !SD_ASYM_PACKING case. This patch makes update_sd_pick_busiest return true when the busiest sd yet is encountered.
Groups are ranked in the order overloaded > imbalanced > other, with higher ranked groups getting priority even when their load is lower. This is necessary due to the possibility of unequal capacities and cpumasks between domains within a sched group.
Calculate_imbalance knows how to deal with the situation where a less loaded group is picked, but will only do so when sgs->group_imb is set. This handling needs to be extended to all situations where the busiest load is below the average load.
| |