Re: [PATCH v3 7/8] block, bfq: remove unnecessary goto tag in bfq_dispatch_rq_from_bfqq

From: Damien Le Moal
Date: Mon Jan 02 2023 - 21:33:57 EST


On 1/3/23 18:53, Kemeng Shi wrote:
> We jump to tag only for returning current rq. Return directly to
> remove this tag.
>
> Signed-off-by: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx>
> ---
> block/bfq-iosched.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
> index 9ff424c78e9b..a11be312ac77 100644
> --- a/block/bfq-iosched.c
> +++ b/block/bfq-iosched.c
> @@ -4966,7 +4966,7 @@ static struct request *bfq_dispatch_rq_from_bfqq(struct bfq_data *bfqd,
> bfq_dispatch_remove(bfqd->queue, rq);
>
> if (bfqq != bfqd->in_service_queue)
> - goto return_rq;
> + return rq;
>
> /*
> * If weight raising has to terminate for bfqq, then next
> @@ -4986,12 +4986,9 @@ static struct request *bfq_dispatch_rq_from_bfqq(struct bfq_data *bfqd,
> * belongs to CLASS_IDLE and other queues are waiting for
> * service.
> */
> - if (!(bfq_tot_busy_queues(bfqd) > 1 && bfq_class_idle(bfqq)))
> - goto return_rq;
> + if (bfq_tot_busy_queues(bfqd) > 1 && bfq_class_idle(bfqq))
> + bfq_bfqq_expire(bfqd, bfqq, false, BFQQE_BUDGET_EXHAUSTED);
>
> - bfq_bfqq_expire(bfqd, bfqq, false, BFQQE_BUDGET_EXHAUSTED);
> -
> -return_rq:
> return rq;
> }
>

Looks OK to me.

Reviewed-by: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx>

--
Damien Le Moal
Western Digital Research