Skip to content

Commit 17a5119

Browse files
committed
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 <paolo.valente@linaro.org> Reviewed-by: Omar Sandoval <osandov@fb.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent 18e5a57 commit 17a5119

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

block/blk-mq.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -360,9 +360,11 @@ static struct request *blk_mq_get_request(struct request_queue *q,
360360

361361
/*
362362
* Flush requests are special and go directly to the
363-
* dispatch list.
363+
* dispatch list. Don't include reserved tags in the
364+
* limiting, as it isn't useful.
364365
*/
365-
if (!op_is_flush(op) && e->type->ops.mq.limit_depth)
366+
if (!op_is_flush(op) && e->type->ops.mq.limit_depth &&
367+
!(data->flags & BLK_MQ_REQ_RESERVED))
366368
e->type->ops.mq.limit_depth(op, data);
367369
}
368370

0 commit comments

Comments
 (0)