Make cfq_scale_slice() usable both for queues and groups by taking in
weight as a parameter.

Signed-off-by: Vivek Goyal <vgo...@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 7a65e12..a929e2d 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -856,12 +856,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;
 }
 
@@ -1302,7 +1302,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_st_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_st_add(st, cfqg);
 
-- 
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to