HMP: Select least-loaded CPU when performing HMP Migrations
authorChris Redpath <chris.redpath@arm.com>
Fri, 30 Jan 2015 08:04:09 +0000 (17:04 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Wed, 14 Dec 2016 04:41:37 +0000 (13:41 +0900)
commiteccbc929a0b307fc77bcb81783a9bf8702505c43
tree1ff5be5a44c9f66f42c2df040cbbe8797728b25a
parent25f916b55389554c394fd41ac30828bce03b6898
HMP: Select least-loaded CPU when performing HMP Migrations

The reference patch set always selects the first CPU in an HMP
domain as a migration target. In busy situations, this means that
the migrated thread cannot make immediate use of an idle CPU but
must share a busy one until the load balancer runs across the big
domain.

This patch uses the hmp_domain_min_load function introduced in
global balancing to figure out which of the CPUs is the least busy
and selects that as a migration target - in both directions.

This essentially implements a task-spread strategy and is intended
to maximise performance of migrated threads but is likely
to use more power than the packing strategy previously employed.

Signed-off-by: Chris Redpath <chris.redpath@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
kernel/sched/fair.c