mirror of
https://github.com/armbian/linux.git
synced 2026-01-06 10:13:00 -08:00
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>
This commit is contained in:
committed by
Jon Medhurst
parent
0841c6ae0b
commit
be6ef1d56e
@@ -931,6 +931,7 @@ struct sched_avg {
|
||||
u64 last_runnable_update;
|
||||
s64 decay_count;
|
||||
unsigned long load_avg_contrib;
|
||||
unsigned long load_avg_ratio;
|
||||
u32 usage_avg_sum;
|
||||
};
|
||||
|
||||
|
||||
@@ -1428,6 +1428,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 */
|
||||
|
||||
Reference in New Issue
Block a user