diff options
author | Morten Rasmussen <Morten.Rasmussen@arm.com> | 2012-09-14 14:38:08 +0100 |
---|---|---|
committer | Viresh Kumar <viresh.kumar@linaro.org> | 2012-10-08 08:56:51 +0530 |
commit | b0e3e0dc4ce6eed414fef5ffc73ca033e423e896 (patch) | |
tree | c4d2f3df91153d2545d2ce3ee5399065ede2ec54 /kernel | |
parent | be48d547e0d7ee6368a2e71bcc83cdf5174303e1 (diff) |
sched: entity load-tracking load_avg_ratio
This patch adds load_avg_ratio to each task. The load_avg_ratio is a
variant of load_avg_contrib which is not scaled by the task priority. It
is calculated like this:
runnable_avg_sum * NICE_0_LOAD / (runnable_avg_period + 1).
Signed-off-by: Morten Rasmussen <Morten.Rasmussen@arm.com>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched/fair.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 438019e5017..d00a02a22ff 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -1200,6 +1200,9 @@ static inline void __update_task_entity_contrib(struct sched_entity *se) contrib = se->avg.runnable_avg_sum * scale_load_down(se->load.weight); contrib /= (se->avg.runnable_avg_period + 1); se->avg.load_avg_contrib = scale_load(contrib); + contrib = se->avg.runnable_avg_sum * scale_load_down(NICE_0_LOAD); + contrib /= (se->avg.runnable_avg_period + 1); + se->avg.load_avg_ratio = scale_load(contrib); } /* Compute the current contribution to load_avg by se, return any delta */ |