diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2008-04-19 19:45:00 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-19 19:45:00 +0200 |
commit | 8f1bc385cfbab474db6c27b5af1e439614f3025c (patch) | |
tree | e4cfb8255d62621d17bc08ee5f94f42a0cc22677 /kernel/workqueue.c | |
parent | 4a55bd5e97b1775913f88f11108a4f144f590e89 (diff) |
sched: fair: weight calculations
In order to level the hierarchy, we need to calculate load based on the
root view. That is, each task's load is in the same unit.
A
/ \
B 1
/ \
2 3
To compute 1's load we do:
weight(1)
--------------
rq_weight(A)
To compute 2's load we do:
weight(2) weight(B)
------------ * -----------
rq_weight(B) rw_weight(A)
This yields load fractions in comparable units.
The consequence is that it changes virtual time. We used to have:
time_{i}
vtime_{i} = ------------
weight_{i}
vtime = \Sum vtime_{i} = time / rq_weight.
But with the new way of load calculation we get that vtime equals time.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/workqueue.c')
0 files changed, 0 insertions, 0 deletions