From: Jens Axboe Date: Wed, 9 May 2018 19:28:50 +0000 (-0600) Subject: blk-mq: don't call into depth limiting for reserved tags X-Git-Tag: for-4.18/block-20180603~131 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=17a511993225ff7c1e2af182c0720bb4d31c7d3a;p=linux-block.git blk-mq: don't call into depth limiting for reserved tags It's not useful, they are internal and/or error handling recovery commands. Acked-by: Paolo Valente Reviewed-by: Omar Sandoval Signed-off-by: Jens Axboe --- diff --git a/block/blk-mq.c b/block/blk-mq.c index 4e9d83594cca..64630caaf27e 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -360,9 +360,11 @@ static struct request *blk_mq_get_request(struct request_queue *q, /* * Flush requests are special and go directly to the - * dispatch list. + * dispatch list. Don't include reserved tags in the + * limiting, as it isn't useful. */ - if (!op_is_flush(op) && e->type->ops.mq.limit_depth) + if (!op_is_flush(op) && e->type->ops.mq.limit_depth && + !(data->flags & BLK_MQ_REQ_RESERVED)) e->type->ops.mq.limit_depth(op, data); }