diff mbox

Re: [PATCH 02/20] io-controller: Common flat fair queuing code in elevaotor layer

Message ID 4A2C649C.8070806@cn.fujitsu.com (mailing list archive)
State New, archived
Headers show

Commit Message

Gui Jianfeng June 8, 2009, 1:08 a.m. UTC
Vivek Goyal wrote:
...
> +
> +/* Get next queue for service. */
> +struct io_queue *elv_get_next_ioq(struct request_queue *q, int extract)
> +{
> +	struct elv_fq_data *efqd = &q->elevator->efqd;
> +	struct io_entity *entity = NULL;
> +	struct io_queue *ioq = NULL;
> +	struct io_sched_data *sd;
> +
> +	/*
> +	 * one can check for which queue will be selected next while having
> +	 * one queue active. preempt logic uses it.
> +	 */
> +	BUG_ON(extract && efqd->active_queue != NULL);
> +
> +	if (!efqd->busy_queues)
> +		return NULL;
> +
> +	sd = &efqd->root_group->sched_data;
> +	if (extract)
> +		entity = bfq_lookup_next_entity(sd, 1);
> +	else
> +		entity = bfq_lookup_next_entity(sd, 0);

This if and else branch is not needed.

Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
---
 block/elevator-fq.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)

Comments

Vivek Goyal June 8, 2009, 12:58 p.m. UTC | #1
On Mon, Jun 08, 2009 at 09:08:44AM +0800, Gui Jianfeng wrote:
> Vivek Goyal wrote:
> ...
> > +
> > +/* Get next queue for service. */
> > +struct io_queue *elv_get_next_ioq(struct request_queue *q, int extract)
> > +{
> > +	struct elv_fq_data *efqd = &q->elevator->efqd;
> > +	struct io_entity *entity = NULL;
> > +	struct io_queue *ioq = NULL;
> > +	struct io_sched_data *sd;
> > +
> > +	/*
> > +	 * one can check for which queue will be selected next while having
> > +	 * one queue active. preempt logic uses it.
> > +	 */
> > +	BUG_ON(extract && efqd->active_queue != NULL);
> > +
> > +	if (!efqd->busy_queues)
> > +		return NULL;
> > +
> > +	sd = &efqd->root_group->sched_data;
> > +	if (extract)
> > +		entity = bfq_lookup_next_entity(sd, 1);
> > +	else
> > +		entity = bfq_lookup_next_entity(sd, 0);
> 
> This if and else branch is not needed.
> 
> Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
> ---
>  block/elevator-fq.c |    5 +----
>  1 files changed, 1 insertions(+), 4 deletions(-)
> 
> diff --git a/block/elevator-fq.c b/block/elevator-fq.c
> index 3c5f9da..655162b 100644
> --- a/block/elevator-fq.c
> +++ b/block/elevator-fq.c
> @@ -3069,10 +3069,7 @@ struct io_queue *elv_get_next_ioq(struct request_queue *q, int extract)
>  
>  	sd = &efqd->root_group->sched_data;
>  	for (; sd != NULL; sd = entity->my_sched_data) {
> -		if (extract)
> -			entity = bfq_lookup_next_entity(sd, 1);
> -		else
> -			entity = bfq_lookup_next_entity(sd, 0);
> +		entity = bfq_lookup_next_entity(sd, extract);
>  
>  		/*
>  		 * entity can be null despite the fact that there are busy

Thanks Gui. Queued for next posting.

Thanks
Vivek

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
diff mbox

Patch

diff --git a/block/elevator-fq.c b/block/elevator-fq.c
index 3c5f9da..655162b 100644
--- a/block/elevator-fq.c
+++ b/block/elevator-fq.c
@@ -3069,10 +3069,7 @@  struct io_queue *elv_get_next_ioq(struct request_queue *q, int extract)
 
 	sd = &efqd->root_group->sched_data;
 	for (; sd != NULL; sd = entity->my_sched_data) {
-		if (extract)
-			entity = bfq_lookup_next_entity(sd, 1);
-		else
-			entity = bfq_lookup_next_entity(sd, 0);
+		entity = bfq_lookup_next_entity(sd, extract);
 
 		/*
 		 * entity can be null despite the fact that there are busy