diff options
-rw-r--r-- | kernel/sched.c | 1 | ||||
-rw-r--r-- | kernel/sched_fair.c | 10 |
2 files changed, 4 insertions, 7 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 12bc367d9241..e8819bc6f462 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -386,7 +386,6 @@ struct cfs_rq { | |||
386 | 386 | ||
387 | u64 exec_clock; | 387 | u64 exec_clock; |
388 | u64 min_vruntime; | 388 | u64 min_vruntime; |
389 | u64 pair_start; | ||
390 | 389 | ||
391 | struct rb_root tasks_timeline; | 390 | struct rb_root tasks_timeline; |
392 | struct rb_node *rb_leftmost; | 391 | struct rb_node *rb_leftmost; |
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 | } |