|
@@ -690,7 +690,14 @@ void init_entity_runnable_average(struct sched_entity *se)
|
|
|
* will definitely be update (after enqueue).
|
|
|
*/
|
|
|
sa->period_contrib = 1023;
|
|
|
- sa->load_avg = scale_load_down(se->load.weight);
|
|
|
+ /*
|
|
|
+ * Tasks are intialized with full load to be seen as heavy tasks until
|
|
|
+ * they get a chance to stabilize to their real load level.
|
|
|
+ * Group entities are intialized with zero load to reflect the fact that
|
|
|
+ * nothing has been attached to the task group yet.
|
|
|
+ */
|
|
|
+ if (entity_is_task(se))
|
|
|
+ sa->load_avg = scale_load_down(se->load.weight);
|
|
|
sa->load_sum = sa->load_avg * LOAD_AVG_MAX;
|
|
|
/*
|
|
|
* At this point, util_avg won't be used in select_task_rq_fair anyway
|