All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: Jens Axboe <axboe@kernel.dk>,
	Corrado Zoccolo <czoccolo@gmail.com>,
	Chad Talbott <ctalbott@google.com>,
	Nauman Rafique <nauman@google.com>,
	Divyesh Shah <dpshah@google.com>,
	linux kernel mailing list <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] [PATCH 4/8] cfq-iosched: Get rid of st->active
Date: Mon, 29 Nov 2010 10:34:06 +0800	[thread overview]
Message-ID: <4CF3111E.60507@cn.fujitsu.com> (raw)
In-Reply-To: <20101115194855.GC3396@redhat.com>

Vivek Goyal wrote:
> On Sun, Nov 14, 2010 at 04:25:04PM +0800, Gui Jianfeng wrote:
>> 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>
> 
> Hmm..., once I was also wondering if ->active pointer is superflous. Looks
> like it is and st->left will always represent the element being served. I
> think this is more of a cleanup patch and can either be first patch in the
> series or you can post it independently.

Ok.

Gui

> 
> Vivek
> 
>> ---
>>  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
>>
>>
> 

  parent reply	other threads:[~2010-11-29  2:34 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [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     ` Gui Jianfeng [this message]
     [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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CF3111E.60507@cn.fujitsu.com \
    --to=guijianfeng@cn.fujitsu.com \
    --cc=axboe@kernel.dk \
    --cc=ctalbott@google.com \
    --cc=czoccolo@gmail.com \
    --cc=dpshah@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nauman@google.com \
    --cc=vgoyal@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.