diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched.c | 1 | ||||
-rw-r--r-- | kernel/sched_fair.c | 13 |
2 files changed, 3 insertions, 11 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index c779bf9d3552..744bd5050f10 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -1616,7 +1616,6 @@ static void __sched_fork(struct task_struct *p) p->se.exec_start = 0; p->se.sum_exec_runtime = 0; p->se.prev_sum_exec_runtime = 0; - p->se.last_min_vruntime = 0; #ifdef CONFIG_SCHEDSTATS p->se.wait_start = 0; diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 0228de186503..62a9ee8db13e 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -480,14 +480,9 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial) vruntime += __sched_vslice(cfs_rq->nr_running + 1); if (!initial) { - if (sched_feat(NEW_FAIR_SLEEPERS)) { - s64 latency = cfs_rq->min_vruntime - se->vruntime; - if (latency < 0 || !cfs_rq->nr_running) - latency = 0; - else - latency = min_t(s64, latency, sysctl_sched_latency); - vruntime -= latency; - } + if (sched_feat(NEW_FAIR_SLEEPERS)) + vruntime -= sysctl_sched_latency; + vruntime = max(vruntime, se->vruntime); } @@ -531,8 +526,6 @@ dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int sleep) se->block_start = rq_of(cfs_rq)->clock; } #endif - /* se->vruntime = entity_key(cfs_rq, se); */ - se->last_min_vruntime = cfs_rq->min_vruntime; } if (se != cfs_rq->curr) |