|
@@ -1106,6 +1106,8 @@ static void
|
|
|
check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr)
|
|
|
{
|
|
|
unsigned long ideal_runtime, delta_exec;
|
|
|
+ struct sched_entity *se;
|
|
|
+ s64 delta;
|
|
|
|
|
|
ideal_runtime = sched_slice(cfs_rq, curr);
|
|
|
delta_exec = curr->sum_exec_runtime - curr->prev_sum_exec_runtime;
|
|
@@ -1127,16 +1129,14 @@ check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr)
|
|
|
if (delta_exec < sysctl_sched_min_granularity)
|
|
|
return;
|
|
|
|
|
|
- if (cfs_rq->nr_running > 1) {
|
|
|
- struct sched_entity *se = __pick_first_entity(cfs_rq);
|
|
|
- s64 delta = curr->vruntime - se->vruntime;
|
|
|
+ se = __pick_first_entity(cfs_rq);
|
|
|
+ delta = curr->vruntime - se->vruntime;
|
|
|
|
|
|
- if (delta < 0)
|
|
|
- return;
|
|
|
+ if (delta < 0)
|
|
|
+ return;
|
|
|
|
|
|
- if (delta > ideal_runtime)
|
|
|
- resched_task(rq_of(cfs_rq)->curr);
|
|
|
- }
|
|
|
+ if (delta > ideal_runtime)
|
|
|
+ resched_task(rq_of(cfs_rq)->curr);
|
|
|
}
|
|
|
|
|
|
static void
|