|
@@ -85,7 +85,6 @@ struct cfq_rb_root {
|
|
|
struct rb_root rb;
|
|
|
struct rb_node *left;
|
|
|
unsigned count;
|
|
|
- unsigned total_weight;
|
|
|
u64 min_vdisktime;
|
|
|
struct cfq_ttime ttime;
|
|
|
};
|
|
@@ -979,9 +978,7 @@ static inline unsigned cfq_group_get_avg_queues(struct cfq_data *cfqd,
|
|
|
static inline unsigned
|
|
|
cfq_group_slice(struct cfq_data *cfqd, struct cfq_group *cfqg)
|
|
|
{
|
|
|
- struct cfq_rb_root *st = &cfqd->grp_service_tree;
|
|
|
-
|
|
|
- return cfqd->cfq_target_latency * cfqg->weight / st->total_weight;
|
|
|
+ return cfqd->cfq_target_latency * cfqg->vfraction >> CFQ_SERVICE_SHIFT;
|
|
|
}
|
|
|
|
|
|
static inline unsigned
|
|
@@ -1273,7 +1270,6 @@ cfq_group_service_tree_add(struct cfq_rb_root *st, struct cfq_group *cfqg)
|
|
|
|
|
|
cfq_update_group_weight(cfqg);
|
|
|
__cfq_group_service_tree_add(st, cfqg);
|
|
|
- st->total_weight += cfqg->weight;
|
|
|
|
|
|
/*
|
|
|
* Activate @cfqg and calculate the portion of vfraction @cfqg is
|
|
@@ -1360,7 +1356,6 @@ cfq_group_service_tree_del(struct cfq_rb_root *st, struct cfq_group *cfqg)
|
|
|
}
|
|
|
|
|
|
/* remove from the service tree */
|
|
|
- st->total_weight -= cfqg->weight;
|
|
|
if (!RB_EMPTY_NODE(&cfqg->rb_node))
|
|
|
cfq_rb_erase(&cfqg->rb_node, st);
|
|
|
}
|