Messages in this thread | | | Subject | Re: [PATCH] blk-mq: remove needless goto from blk_mq_get_driver_tag | From | Jens Axboe <> | Date | Wed, 23 Oct 2019 21:32:52 -0600 |
| |
On 10/23/19 7:34 PM, Bart Van Assche wrote: > On 2019-10-22 10:41, André Almeida wrote: >> The only usage of the label "done" is when (rq->tag != -1) at the >> begging of the function. Rather than jumping to label, we can just >> remove this label and execute the code at the "if". Besides that, >> the code that would be executed after the label "done" is the return of >> the logical expression (rq->tag != -1) but since we are already inside >> the if, we now that this is true. Remove the label and replace the goto >> with the proper result of the label. >> >> Signed-off-by: André Almeida <andrealmeid@collabora.com> >> --- >> Hello, >> >> I've used `blktest` to check if this change add any regression. I have >> used `./check block` and I got the same results with and without this >> patch (a bunch of "passed" and three "not run" because of the virtual >> scsi capabilities). Please let me know if there would be a better way to >> test changes at block stack. >> >> This commit was rebase at linux-block/for-5.5/block. >> >> Thanks, >> André >> --- >> block/blk-mq.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/block/blk-mq.c b/block/blk-mq.c >> index 8538dc415499..1e067b78ab97 100644 >> --- a/block/blk-mq.c >> +++ b/block/blk-mq.c >> @@ -1036,7 +1036,7 @@ bool blk_mq_get_driver_tag(struct request *rq) >> bool shared; >> >> if (rq->tag != -1) >> - goto done; >> + return true; >> >> if (blk_mq_tag_is_reserved(data.hctx->sched_tags, rq->internal_tag)) >> data.flags |= BLK_MQ_REQ_RESERVED; >> @@ -1051,7 +1051,6 @@ bool blk_mq_get_driver_tag(struct request *rq) >> data.hctx->tags->rqs[rq->tag] = rq; >> } >> >> -done: >> return rq->tag != -1; >> } > > Do we really need code changes like the above? I'm not aware of any text > in the Documentation/ directory that forbids the use of goto statements.
Agree, it looks fine as-is. It's also a fast path, so I'd never get rid of that without looking at the generated code.
-- Jens Axboe
| |