Browse Source

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>
Peter Zijlstra 17 năm trước cách đây
mục cha
commit
10b777246c
1 tập tin đã thay đổi với 1 bổ sung0 xóa
  1. 1 0
      kernel/sched_fair.c

+ 1 - 0
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);
 	u64 vslice = __sched_period(nr_running);
 
 
+	vslice *= NICE_0_LOAD;
 	do_div(vslice, rq_weight);
 	do_div(vslice, rq_weight);
 
 
 	return vslice;
 	return vslice;