HMP: Select least-loaded CPU when performing HMP Migrations
authorChris Redpath <chris.redpath@arm.com>
Thu, 9 May 2013 15:21:15 +0000 (16:21 +0100)
committerJon Medhurst <tixy@linaro.org>
Wed, 17 Jul 2013 10:32:29 +0000 (11:32 +0100)
commit08d7db89a214a138516419a85e17272b09180abd
tree3c33a65ffd1e6c20c885a19681f69bdccb1aab08
parentede58a69a32b187899e6cccbbd299a04d3f50b71
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>
kernel/sched/fair.c