aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched_fair.c
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2007-11-09 16:39:37 -0500
committerIngo Molnar <mingo@elte.hu>2007-11-09 16:39:37 -0500
commit10b777246c6953100099af1870d35c8b24d49b12 (patch)
treefa6102b465d7f3c5523cd7f3506faa444eaa90c2 /kernel/sched_fair.c
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/sched_fair.c')
-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 01859f662ab7..62b057603f07 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)
259{ 259{
260 u64 vslice = __sched_period(nr_running); 260 u64 vslice = __sched_period(nr_running);
261 261
262 vslice *= NICE_0_LOAD;
262 do_div(vslice, rq_weight); 263 do_div(vslice, rq_weight);
263 264
264 return vslice; 265 return vslice;