OSDN Git Service

sched/fair: Sync task util before EAS wakeup
authorBrendan Jackman <brendan.jackman@arm.com>
Thu, 29 Jun 2017 16:29:31 +0000 (17:29 +0100)
committerChris Redpath <chris.redpath@arm.com>
Tue, 25 Jul 2017 15:31:00 +0000 (16:31 +0100)
commitd96e40472807e08d8352d22c0d3b0ce142893c53
tree59ac401a9b6c98d6a93716b7b778600cd35fbff3
parente76348ec5f7f4e37f827cfcee2ead8c1089912c4
sched/fair: Sync task util before EAS wakeup

Before using a task's util_avg signal in EAS, we need to ensure that
it has been synced up to the last_update_time of prev_cpu's root
cfs_rq.

We previously relied on the side effect of wake_cap to do that,
however that does not happen when the waking CPU has the same
capacity as the prev_cpu. Therefore just explicitly call
sync_entity_load_avg. This may result in calling that function twice
within the same select_task_rq_fair, but since last_update_time
hasn't changed the second call will bail out very quickly.

Change-Id: I91f1fcd71dfeb96b7f5b73418f1cf9ac311d4655
Signed-off-by: Brendan Jackman <brendan.jackman@arm.com>
Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
kernel/sched/fair.c