aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2007-11-09 22:39:37 +0100
committerIngo Molnar <mingo@elte.hu>2007-11-09 22:39:37 +0100
commit10b777246c6953100099af1870d35c8b24d49b12 (patch)
treefa6102b465d7f3c5523cd7f3506faa444eaa90c2 /kernel
parentdbeeb816e805091e7cfc03baf36dc40b4adb2bbd (diff)
sched: fix vslice
vslice was missing a factor NICE_0_LOAD, as weight is in weight*NICE_0_LOAD units. the effect of this bug was larger initial slices and thus latency-noisier forks. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched_fair.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 01859f662ab..62b057603f0 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -259,6 +259,7 @@ static u64 __sched_vslice(unsigned long rq_weight, unsigned long nr_running)
{
u64 vslice = __sched_period(nr_running);
+ vslice *= NICE_0_LOAD;
do_div(vslice, rq_weight);
return vslice;