diff options
| -rw-r--r-- | kernel/sched_fair.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index c863663d204d..e24ecd39c4b8 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
| @@ -662,10 +662,15 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial) | |||
| 662 | if (!initial) { | 662 | if (!initial) { |
| 663 | /* sleeps upto a single latency don't count. */ | 663 | /* sleeps upto a single latency don't count. */ |
| 664 | if (sched_feat(NEW_FAIR_SLEEPERS)) { | 664 | if (sched_feat(NEW_FAIR_SLEEPERS)) { |
| 665 | unsigned long thresh = sysctl_sched_latency; | ||
| 666 | |||
| 667 | /* | ||
| 668 | * convert the sleeper threshold into virtual time | ||
| 669 | */ | ||
| 665 | if (sched_feat(NORMALIZED_SLEEPER)) | 670 | if (sched_feat(NORMALIZED_SLEEPER)) |
| 666 | vruntime -= calc_delta_weight(sysctl_sched_latency, se); | 671 | thresh = calc_delta_fair(thresh, se); |
| 667 | else | 672 | |
| 668 | vruntime -= sysctl_sched_latency; | 673 | vruntime -= thresh; |
| 669 | } | 674 | } |
| 670 | 675 | ||
| 671 | /* ensure we never gain time by being placed backwards. */ | 676 | /* ensure we never gain time by being placed backwards. */ |
