From e7f5c46e0cb714376ea5040529fd9c6f4e44078a Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Thu, 8 May 2008 17:00:42 +0200 Subject: [PATCH] --- yaml --- r: 96188 b: refs/heads/master c: 46151122e0a2e80e5a6b2889f595e371fe2b600d h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/sched_fair.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 1beda36eeffa..eff89bd4d344 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bf726eab3711cf192405d21688a4b21e07b6188a +refs/heads/master: 46151122e0a2e80e5a6b2889f595e371fe2b600d diff --git a/trunk/kernel/sched_fair.c b/trunk/kernel/sched_fair.c index c863663d204d..e24ecd39c4b8 100644 --- a/trunk/kernel/sched_fair.c +++ b/trunk/kernel/sched_fair.c @@ -662,10 +662,15 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial) if (!initial) { /* sleeps upto a single latency don't count. */ if (sched_feat(NEW_FAIR_SLEEPERS)) { + unsigned long thresh = sysctl_sched_latency; + + /* + * convert the sleeper threshold into virtual time + */ if (sched_feat(NORMALIZED_SLEEPER)) - vruntime -= calc_delta_weight(sysctl_sched_latency, se); - else - vruntime -= sysctl_sched_latency; + thresh = calc_delta_fair(thresh, se); + + vruntime -= thresh; } /* ensure we never gain time by being placed backwards. */