sched: update runqueue clock before migrations away
authorChris Redpath <chris.redpath@arm.com>
Thu, 5 Dec 2013 17:57:46 +0000 (17:57 +0000)
committerJon Medhurst <tixy@linaro.org>
Wed, 22 Jan 2014 09:50:42 +0000 (09:50 +0000)
commit7896b1e659db571556436b99ebb2e475e54a24f5
tree4d9a12bd3f34865f76918d2f3ff60d80145ff224
parentf720a920e88f1ec79db8c9f0031f61c610e40b02
sched: update runqueue clock before migrations away

If we migrate a sleeping task away from a CPU which has the
tick stopped, then both the clock_task and decay_counter will
be out of date for that CPU and we will not decay load correctly
regardless of how often we update the blocked load.

This is only an issue for tasks which are not on a runqueue
(because otherwise that CPU would be awake) and simultaneously
the CPU the task previously ran on has had the tick stopped.

Signed-off-by: Chris Redpath <chris.redpath@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
kernel/sched/fair.c