All of lore.kernel.org
 help / color / mirror / Atom feed
  • [parent not found: <4CDF9CE0.3060606@cn.fujitsu.com>]
  • [parent not found: <4CDF9D06.6070800@cn.fujitsu.com>]
  • [parent not found: <4CDF9D0D.4060806@cn.fujitsu.com>]
  • [parent not found: <4CDF9CC6.2040106@cn.fujitsu.com>]
  • * [RFC] [PATCH 4/8] cfq-iosched: Get rid of st->active
    @ 2010-11-15  0:55 Gui Jianfeng
      0 siblings, 0 replies; 42+ messages in thread
    From: Gui Jianfeng @ 2010-11-15  0:55 UTC (permalink / raw)
      To: Vivek Goyal, Jens Axboe
      Cc: linux kernel mailing list, Corrado Zoccolo, Nauman Rafique,
    	Chad Talbott, Divyesh Shah, Gui Jianfeng
    
    When a cfq group is running, it won't be dequeued from service tree, so
    there's no need to store the active one in st->active. Just gid rid of it.
    
    Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
    ---
     block/cfq-iosched.c |   15 +--------------
     1 files changed, 1 insertions(+), 14 deletions(-)
    
    diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
    index ef88931..ad577b5 100644
    --- a/block/cfq-iosched.c
    +++ b/block/cfq-iosched.c
    @@ -88,7 +88,6 @@ struct cfq_rb_root {
     	unsigned count;
     	unsigned total_weight;
     	u64 min_vdisktime;
    -	struct rb_node *active;
     };
     #define CFQ_RB_ROOT	(struct cfq_rb_root) { .rb = RB_ROOT, .left = NULL, \
     			.count = 0, .min_vdisktime = 0, }
    @@ -599,11 +598,6 @@ static void update_min_vdisktime(struct cfq_rb_root *st)
     	u64 vdisktime = st->min_vdisktime;
     	struct io_sched_entity *entity;
     
    -	if (st->active) {
    -		entity = rb_entry_entity(st->active);
    -		vdisktime = entity->vdisktime;
    -	}
    -
     	if (st->left) {
     		entity = rb_entry_entity(st->left);
     		vdisktime = min_vdisktime(vdisktime, entity->vdisktime);
    @@ -925,9 +919,6 @@ cfq_group_service_tree_del(struct cfq_data *cfqd, struct cfq_group *cfqg)
     	struct cfq_rb_root *st = &cfqd->grp_service_tree;
     	struct io_sched_entity *group_entity = &cfqg->group_entity;
     
    -	if (st->active == &group_entity->rb_node)
    -		st->active = NULL;
    -
     	BUG_ON(cfqg->nr_cfqq < 1);
     	cfqg->nr_cfqq--;
     
    @@ -1130,7 +1121,7 @@ static void cfq_put_cfqg(struct cfq_group *cfqg)
     	if (!atomic_dec_and_test(&cfqg->ref))
     		return;
     	for_each_cfqg_st(cfqg, i, j, st)
    -		BUG_ON(!RB_EMPTY_ROOT(&st->rb) || st->active != NULL);
    +		BUG_ON(!RB_EMPTY_ROOT(&st->rb));
     	kfree(cfqg);
     }
     
    @@ -1773,9 +1764,6 @@ __cfq_slice_expired(struct cfq_data *cfqd, struct cfq_queue *cfqq,
     	if (cfqq == cfqd->active_queue)
     		cfqd->active_queue = NULL;
     
    -	if (&cfqq->cfqg->group_entity.rb_node == cfqd->grp_service_tree.active)
    -		cfqd->grp_service_tree.active = NULL;
    -
     	if (cfqd->active_cic) {
     		put_io_context(cfqd->active_cic->ioc);
     		cfqd->active_cic = NULL;
    @@ -2305,7 +2293,6 @@ static struct cfq_group *cfq_get_next_cfqg(struct cfq_data *cfqd)
     	group_entity = cfq_rb_first_entity(st);
     	cfqg = cfqg_of_entity(group_entity);
     	BUG_ON(!cfqg);
    -	st->active = &group_entity->rb_node;
     	update_min_vdisktime(st);
     	return cfqg;
     }
    -- 
    1.6.5.2
    
    
    
    
    
    -- 
    Regards
    Gui Jianfeng
    
    ^ permalink raw reply related	[flat|nested] 42+ messages in thread

    end of thread, other threads:[~2010-12-20 19:44 UTC | newest]
    
    Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <4CDF7BC5.9080803@cn.fujitsu.com>
         [not found] ` <4CDF9CD8.8010207@cn.fujitsu.com>
         [not found]   ` <20101115193352.GB3396@redhat.com>
    2010-11-29  2:32     ` [RFC] [PATCH 3/8] cfq-iosched: Introduce vdisktime and io weight for CFQ queue Gui Jianfeng
         [not found] ` <4CDF9CE0.3060606@cn.fujitsu.com>
         [not found]   ` <20101115194855.GC3396@redhat.com>
    2010-11-29  2:34     ` [RFC] [PATCH 4/8] cfq-iosched: Get rid of st->active Gui Jianfeng
         [not found] ` <4CDF9D06.6070800@cn.fujitsu.com>
         [not found]   ` <20101115195428.GE3396@redhat.com>
    2010-11-29  2:35     ` [RFC] [PATCH 7/8] cfq-iosched: Enable deep hierarchy in CGgroup Gui Jianfeng
         [not found] ` <4CDF9D0D.4060806@cn.fujitsu.com>
         [not found]   ` <20101115204459.GF3396@redhat.com>
    2010-11-29  2:42     ` [RFC] [PATCH 8/8] cfq-iosched: Introduce hierarchical scheduling with CFQ queue and group at the same level Gui Jianfeng
    2010-11-29 14:31       ` Vivek Goyal
    2010-11-30  1:15         ` Gui Jianfeng
         [not found] ` <4CDF9CC6.2040106@cn.fujitsu.com>
         [not found]   ` <20101115165319.GI30792@redhat.com>
         [not found]     ` <4CE2718C.6010406@kernel.dk>
    2010-12-13  1:44       ` [PATCH 0/8 v2] Introduce CFQ group hierarchical scheduling and "use_hierarchy" interface Gui Jianfeng
    2010-12-13 13:36         ` Jens Axboe
    2010-12-14  3:30           ` Gui Jianfeng
    2010-12-13 14:29         ` Vivek Goyal
    2010-12-14  3:06           ` Gui Jianfeng
    2010-12-14  3:29             ` Vivek Goyal
         [not found]       ` <4D01C6AB.9040807@cn.fujitsu.com>
    2010-12-13  1:44         ` [PATCH 1/8 v2] cfq-iosched: Introduce cfq_entity for CFQ queue Gui Jianfeng
    2010-12-13 15:44           ` Vivek Goyal
    2010-12-14  1:30             ` Gui Jianfeng
    2010-12-13  1:44         ` [PATCH 2/8 v2] cfq-iosched: Introduce cfq_entity for CFQ group Gui Jianfeng
    2010-12-13 16:59           ` Vivek Goyal
    2010-12-14  1:33             ` Gui Jianfeng
    2010-12-14  1:47             ` Gui Jianfeng
    2010-12-13  1:44         ` [PATCH 3/8 v2] cfq-iosched: Introduce vdisktime and io weight for CFQ queue Gui Jianfeng
    2010-12-13 16:59           ` Vivek Goyal
    2010-12-14  2:41             ` Gui Jianfeng
    2010-12-14  2:47               ` Vivek Goyal
    2010-12-13  1:44         ` [PATCH 4/8 v2] cfq-iosched: Extract some common code of service tree handling for CFQ queue and CFQ group Gui Jianfeng
    2010-12-13 22:11           ` Vivek Goyal
    2010-12-13  1:45         ` [PATCH 5/8 v2] cfq-iosched: Introduce hierarchical scheduling with CFQ queue and group at the same level Gui Jianfeng
    2010-12-14  3:49           ` Vivek Goyal
    2010-12-14  6:09             ` Gui Jianfeng
    2010-12-15  7:02             ` Gui Jianfeng
    2010-12-15 22:04               ` Vivek Goyal
    2010-12-13  1:45         ` [PATCH 6/8] blkio-cgroup: "use_hierarchy" interface without any functionality Gui Jianfeng
    2010-12-15 21:26           ` Vivek Goyal
    2010-12-16  2:42             ` Gui Jianfeng
    2010-12-16 15:44               ` Vivek Goyal
    2010-12-17  3:06                 ` Gui Jianfeng
    2010-12-17 23:03                   ` Vivek Goyal
    2010-12-13  1:45         ` [PATCH 7/8] cfq-iosched: Add flat mode and switch between two modes by "use_hierarchy" Gui Jianfeng
    2010-12-20 19:43           ` Vivek Goyal
    2010-12-13  1:45         ` [PATCH 8/8] blkio-cgroup: Document for blkio.use_hierarchy Gui Jianfeng
    2010-12-13 15:10           ` Vivek Goyal
    2010-12-14  2:52             ` Gui Jianfeng
    2010-11-15  0:55 [RFC] [PATCH 4/8] cfq-iosched: Get rid of st->active Gui Jianfeng
    

    This is an external index of several public inboxes,
    see mirroring instructions on how to clone and mirror
    all data and code used by this external index.