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@xxxxxxxxxxxxxx> --- 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 -- 1.5.4.rc3 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel