diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2007-11-09 16:39:37 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2007-11-09 16:39:37 -0500 |
commit | 10b777246c6953100099af1870d35c8b24d49b12 (patch) | |
tree | fa6102b465d7f3c5523cd7f3506faa444eaa90c2 | |
parent | dbeeb816e805091e7cfc03baf36dc40b4adb2bbd (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>
-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) | |||
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; |