aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched/fair.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched/fair.c')
-rw-r--r--kernel/sched/fair.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index e1602a0fdbf8..9bbc303598ea 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1571,7 +1571,13 @@ static inline void enqueue_entity_load_avg(struct cfs_rq *cfs_rq,
1571 } 1571 }
1572 wakeup = 0; 1572 wakeup = 0;
1573 } else { 1573 } else {
1574 __synchronize_entity_decay(se); 1574 /*
1575 * Task re-woke on same cpu (or else migrate_task_rq_fair()
1576 * would have made count negative); we must be careful to avoid
1577 * double-accounting blocked time after synchronizing decays.
1578 */
1579 se->avg.last_runnable_update += __synchronize_entity_decay(se)
1580 << 20;
1575 } 1581 }
1576 1582
1577 /* migrated tasks did not contribute to our blocked load */ 1583 /* migrated tasks did not contribute to our blocked load */