[PATCH V2] blk-mq: always allow reserved allocation in hctx_may_queue

Jens Axboe axboe at kernel.dk
Fri Sep 11 07:27:28 EDT 2020


On 9/11/20 4:41 AM, Ming Lei wrote:
> NVMe shares tagset between fabric queue and admin queue or between
> connect_q and NS queue, so hctx_may_queue() can be called to allocate
> request for these queues.
> 
> Tags can be reserved in these tagset. Before error recovery, there is
> often lots of in-flight requests which can't be completed, and new
> reserved request may be needed in error recovery path. However,
> hctx_may_queue() can always return false because there is too many
> in-flight requests which can't be completed during error handling.
> Finally, everything can't move on.
> 
> Fix this issue by always allowing reserved tag allocation in
> hctx_may_queue(). This ways is reasonable because reserved tag
> suppose to be ready any time.

Applied, thanks.

-- 
Jens Axboe




More information about the Linux-nvme mailing list