diff options
Diffstat (limited to 'kernel/sched_fair.c')
-rw-r--r-- | kernel/sched_fair.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 7af17e04a6db..ce514afd78ff 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
@@ -791,16 +791,14 @@ set_next_entity(struct cfs_rq *cfs_rq, struct sched_entity *se) | |||
791 | se->prev_sum_exec_runtime = se->sum_exec_runtime; | 791 | se->prev_sum_exec_runtime = se->sum_exec_runtime; |
792 | } | 792 | } |
793 | 793 | ||
794 | static int | ||
795 | wakeup_preempt_entity(struct sched_entity *curr, struct sched_entity *se); | ||
796 | |||
794 | static struct sched_entity * | 797 | static struct sched_entity * |
795 | pick_next(struct cfs_rq *cfs_rq, struct sched_entity *se) | 798 | pick_next(struct cfs_rq *cfs_rq, struct sched_entity *se) |
796 | { | 799 | { |
797 | struct rq *rq = rq_of(cfs_rq); | 800 | if (!cfs_rq->next || wakeup_preempt_entity(cfs_rq->next, se) == 1) |
798 | u64 pair_slice = rq->clock - cfs_rq->pair_start; | ||
799 | |||
800 | if (!cfs_rq->next || pair_slice > sysctl_sched_min_granularity) { | ||
801 | cfs_rq->pair_start = rq->clock; | ||
802 | return se; | 801 | return se; |
803 | } | ||
804 | 802 | ||
805 | return cfs_rq->next; | 803 | return cfs_rq->next; |
806 | } | 804 | } |