diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index f88720b3df8b477b45affff7de25b1549fea5c55..6cdff849fc19a4fbbed4dd05070e0ffdd5a8c4c9 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -1370,6 +1370,9 @@ static void dequeue_task_fair(struct rq *rq, struct task_struct *p, int flags) */ if (task_sleep && parent_entity(se)) set_next_buddy(parent_entity(se)); + + /* avoid re-evaluating load for this entity */ + se = parent_entity(se); break; } flags |= DEQUEUE_SLEEP;