On Mon, Jun 29, 2020 at 05:47:59PM +0800, Ming Lei wrote: > It is natural to release driver tag when this request is completed by > LLD or device since its purpose is for LLD use. > > One big benefit is that the released tag can be re-used quicker since > bio_endio() may take too long. > > Meantime we don't need to release driver tag for flush request. Reviewed-by: Christoph Hellwig <hch@xxxxxx> A bunch of comments on the surrounding code from reviewing it, though: - blk_mq_put_driver_tag and __blk_mq_put_driver_tag can and should be moved to blk-mq.c and marked static in a follow on patch (and possibly merged as well) - The rq->internal_tag == BLK_MQ_NO_TAG check in shold probably be replaced with a !data->q->elevator check to make it more obvious that we are only putting the driver tag for the iosched case