diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2007-11-09 22:39:37 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2007-11-09 22:39:37 +0100 |
commit | 10b777246c6953100099af1870d35c8b24d49b12 (patch) | |
tree | fa6102b465d7f3c5523cd7f3506faa444eaa90c2 /kernel | |
parent | dbeeb816e805091e7cfc03baf36dc40b4adb2bbd (diff) | |
download | linux-10b777246c6953100099af1870d35c8b24d49b12.tar.bz2 |
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.c | 1 |
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) { u64 vslice = __sched_period(nr_running); + vslice *= NICE_0_LOAD; do_div(vslice, rq_weight); return vslice; |