aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorGui Jianfeng <guijianfeng@cn.fujitsu.com>2010-11-30 14:52:47 -0500
committerJens Axboe <jaxboe@fusionio.com>2010-11-30 14:52:47 -0500
commit760701bfe14faee8ea0608a9cab2046071d98a39 (patch)
tree780193b7803aced7ecb2a53f0ce43150eb8ebeab /block
parentb54ce60eb7f61f8e314b8b241b0469eda3bb1d42 (diff)
cfq-iosched: Get rid of on_st flag
It's able to check whether a CFQ group on a service tree by checking "cfqg->rb_node". There's no need to maintain an extra flag here. Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com> Acked-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'block')
-rw-r--r--block/cfq-iosched.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index e18d316ae65..5d0349d602f 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -179,7 +179,6 @@ struct cfq_group {
179 /* group service_tree key */ 179 /* group service_tree key */
180 u64 vdisktime; 180 u64 vdisktime;
181 unsigned int weight; 181 unsigned int weight;
182 bool on_st;
183 182
184 /* number of cfqq currently on this group */ 183 /* number of cfqq currently on this group */
185 int nr_cfqq; 184 int nr_cfqq;
@@ -863,7 +862,7 @@ cfq_group_service_tree_add(struct cfq_data *cfqd, struct cfq_group *cfqg)
863 struct rb_node *n; 862 struct rb_node *n;
864 863
865 cfqg->nr_cfqq++; 864 cfqg->nr_cfqq++;
866 if (cfqg->on_st) 865 if (!RB_EMPTY_NODE(&cfqg->rb_node))
867 return; 866 return;
868 867
869 /* 868 /*
@@ -879,7 +878,6 @@ cfq_group_service_tree_add(struct cfq_data *cfqd, struct cfq_group *cfqg)
879 cfqg->vdisktime = st->min_vdisktime; 878 cfqg->vdisktime = st->min_vdisktime;
880 879
881 __cfq_group_service_tree_add(st, cfqg); 880 __cfq_group_service_tree_add(st, cfqg);
882 cfqg->on_st = true;
883 st->total_weight += cfqg->weight; 881 st->total_weight += cfqg->weight;
884} 882}
885 883
@@ -896,7 +894,6 @@ cfq_group_service_tree_del(struct cfq_data *cfqd, struct cfq_group *cfqg)
896 return; 894 return;
897 895
898 cfq_log_cfqg(cfqd, cfqg, "del_from_rr group"); 896 cfq_log_cfqg(cfqd, cfqg, "del_from_rr group");
899 cfqg->on_st = false;
900 st->total_weight -= cfqg->weight; 897 st->total_weight -= cfqg->weight;
901 if (!RB_EMPTY_NODE(&cfqg->rb_node)) 898 if (!RB_EMPTY_NODE(&cfqg->rb_node))
902 cfq_rb_erase(&cfqg->rb_node, st); 899 cfq_rb_erase(&cfqg->rb_node, st);