sched/fair: fix imbalance calculations in misfit balancing
For misfit group type, load balancer tries to help independent of
group's avg load by pulling misfit task from the busy group, but it
calculates average load base imbalance between domains and consider
that in its decision. And it boosts the imbalance with maximum of
above calculated imbalance and busiest misfit task load for newly
idle balancing.
For Big.Little systems, local(Big) avg load can be greater than
domain's avg load and busiest (Little) avg load can be less than domain's
avg load. Which makes imbalance calculations go wrong and leads to
incorrect load balance decisions.
Make sure average load based imbalance calculations are performed only if
busiest avg load is greater than domain avg load or local avg load less
than domain avg load.
Change-Id: I40fc5b011455612d0e9cd99595e2fc8e60db4626
Signed-off-by:
Lingutla Chandrasekhar <clingutla@codeaurora.org>
Loading
Please register or sign in to comment