diff options
-rw-r--r-- | kernel/sched_fair.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 1ca2cd44d64a..fef0bfde7c8c 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
@@ -1106,6 +1106,8 @@ static void | |||
1106 | check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr) | 1106 | check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr) |
1107 | { | 1107 | { |
1108 | unsigned long ideal_runtime, delta_exec; | 1108 | unsigned long ideal_runtime, delta_exec; |
1109 | struct sched_entity *se; | ||
1110 | s64 delta; | ||
1109 | 1111 | ||
1110 | ideal_runtime = sched_slice(cfs_rq, curr); | 1112 | ideal_runtime = sched_slice(cfs_rq, curr); |
1111 | delta_exec = curr->sum_exec_runtime - curr->prev_sum_exec_runtime; | 1113 | 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) | |||
1127 | if (delta_exec < sysctl_sched_min_granularity) | 1129 | if (delta_exec < sysctl_sched_min_granularity) |
1128 | return; | 1130 | return; |
1129 | 1131 | ||
1130 | if (cfs_rq->nr_running > 1) { | 1132 | se = __pick_first_entity(cfs_rq); |
1131 | struct sched_entity *se = __pick_first_entity(cfs_rq); | 1133 | delta = curr->vruntime - se->vruntime; |
1132 | s64 delta = curr->vruntime - se->vruntime; | ||
1133 | 1134 | ||
1134 | if (delta < 0) | 1135 | if (delta < 0) |
1135 | return; | 1136 | return; |
1136 | 1137 | ||
1137 | if (delta > ideal_runtime) | 1138 | if (delta > ideal_runtime) |
1138 | resched_task(rq_of(cfs_rq)->curr); | 1139 | resched_task(rq_of(cfs_rq)->curr); |
1139 | } | ||
1140 | } | 1140 | } |
1141 | 1141 | ||
1142 | static void | 1142 | static void |