ANDROID: sched/fair: Attempt to improve throughput for asym cap systems
authorChris Redpath <chris.redpath@arm.com>
Fri, 1 Jun 2018 19:34:10 +0000 (20:34 +0100)
committerChris Redpath <chris.redpath@arm.com>
Wed, 18 Jul 2018 09:42:49 +0000 (10:42 +0100)
commit9fae72e924961f3b32816193fcb56d19c1f644c2
tree1f705ed6eff82bcad97ce780fd8132f5caef6fe0
parent07e7ce6c8459defc34e63ae0f0334e811d223990
ANDROID: sched/fair: Attempt to improve throughput for asym cap systems

In some systems the capacity and group weights line up to defeat all the
small imbalance correction conditions in fix_small_imbalance, which can
cause bad task placement. Add a new condition if the existing code can't
see anything to fix:

If we have asymmetric capacity, and there are more tasks than CPUs in
the busiest group *and* there are less tasks than CPUs in the local group
then we try to pull something. There could be transient small tasks which
prevent this from working, but on the whole it is beneficial for those
systems with inconvenient capacity/cluster size relationships.

Signed-off-by: Chris Redpath <chris.redpath@arm.com>
Change-Id: Icf81cde215c082a61f816534b7990ccb70aee409
kernel/sched/fair.c