|
@@ -1062,6 +1062,9 @@ check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr)
|
|
struct sched_entity *se = __pick_next_entity(cfs_rq);
|
|
struct sched_entity *se = __pick_next_entity(cfs_rq);
|
|
s64 delta = curr->vruntime - se->vruntime;
|
|
s64 delta = curr->vruntime - se->vruntime;
|
|
|
|
|
|
|
|
+ if (delta < 0)
|
|
|
|
+ return;
|
|
|
|
+
|
|
if (delta > ideal_runtime)
|
|
if (delta > ideal_runtime)
|
|
resched_task(rq_of(cfs_rq)->curr);
|
|
resched_task(rq_of(cfs_rq)->curr);
|
|
}
|
|
}
|