[PATCH V4] blk-mq: introduce BLK_STS_DEV_RESOURCE

Bart Van Assche Bart.VanAssche at wdc.com
Mon Jan 29 13:51:55 PST 2018


On Mon, 2018-01-29 at 16:44 -0500, Mike Snitzer wrote:
> But regardless of which wins the race, the queue will have been run.
> Which is all we care about right?

Running the queue is not sufficient. With this patch applied it can happen
that the block driver returns BLK_STS_DEV_RESOURCE, that the two or more
concurrent queue runs finish before sufficient device resources are available
to execute the request and that blk_mq_delay_run_hw_queue() does not get
called at all. If no other activity triggers a queue run, e.g. request
completion, this will result in a queue stall.

Bart.


More information about the Linux-nvme mailing list