diff options
author | Tejun Heo <tj@kernel.org> | 2013-01-09 08:05:11 -0800 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2013-01-09 08:05:11 -0800 |
commit | 41cad6ab2cb9ccb3b11546ad56b8b285e47c6279 (patch) | |
tree | c6308080ab464a5f7a5da52035e948431061949a /block/elevator.c | |
parent | 1d3650f713e7f6392b02fde450c5bae40291e65b (diff) |
cfq-iosched: convert cfq_group_slice() to use cfqg->vfraction
cfq_group_slice() calculates slice by taking a fraction of
cfq_target_latency according to the ratio of cfqg->weight against
service_tree->total_weight. This currently works only because all
cfqgs are treated to be at the same level.
To prepare for proper hierarchy support, convert cfq_group_slice() to
base the calculation on cfqg->vfraction. As cfqg->vfraction is always
a fraction of 1 and represents the fraction allocated to the cfqg with
hierarchy considered, the slice can be simply calculated by
multiplying cfqg->vfraction to cfq_target_latency (with fixed point
shift factored in).
As vfraction calculation currently treats all non-root cfqgs as
children of the root cfqg, this patch doesn't introduce noticeable
behavior difference.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Diffstat (limited to 'block/elevator.c')
0 files changed, 0 insertions, 0 deletions