Messages in this thread Patch in this message | | | From | Vivek Goyal <> | Subject | [PATCH 1/8] cfq-iosched: Make cfq_scale_slice() usable for both queues and groups | Date | Mon, 8 Oct 2012 17:44:53 -0400 |
| |
Make cfq_scale_slice() usable both for queues and groups by taking in weight as a parameter.
Signed-off-by: Vivek Goyal <vgoyal@redhat.com> --- block/cfq-iosched.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 2f2b215..c0b492e 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -851,12 +851,12 @@ cfq_prio_to_slice(struct cfq_data *cfqd, struct cfq_queue *cfqq) return cfq_prio_slice(cfqd, cfq_cfqq_sync(cfqq), cfqq->ioprio); } -static inline u64 cfq_scale_slice(unsigned long delta, struct cfq_group *cfqg) +static inline u64 cfq_scale_slice(unsigned long delta, unsigned int weight) { u64 d = delta << CFQ_SERVICE_SHIFT; d = d * CFQ_WEIGHT_DEFAULT; - do_div(d, cfqg->weight); + do_div(d, weight); return d; } @@ -1299,7 +1299,7 @@ static void cfq_group_served(struct cfq_data *cfqd, struct cfq_group *cfqg, /* Can't update vdisktime while group is on service tree */ cfq_group_service_tree_del(st, cfqg); - cfqg->vdisktime += cfq_scale_slice(charge, cfqg); + cfqg->vdisktime += cfq_scale_slice(charge, cfqg->weight); /* If a new weight was requested, update now, off tree */ cfq_group_service_tree_add(st, cfqg); -- 1.7.7.6
| |