[PATCH v3 2/9] nvme-fabrics: allow to queue requests for live queues

Christoph Hellwig hch at lst.de
Tue Aug 25 03:13:45 EDT 2020


On Mon, Aug 24, 2020 at 01:02:40AM -0700, Sagi Grimberg wrote:
> I checked again, and regarding the comment:
>
> "I'm still rather bothered with the admin queue exception.  And given that
> the q_usage_counter problem should only really be an issue for file system
> requests, as passthrough requests do not automatically get retried why
> can't we just reject all user command to be symetric and straight forward?
> The callers in userspace need to be able to cope with retryable errors
> anyway."
>
> blk_mq_alloc_request calls blk_queue_enter, which means that if we don't
> let them in, controller reset can hang, just like in normal fs I/O.

Yes.  But the difference is that they don't get retrieѕ, but instead just
fail.

> So we either keep this exception for admin commands, or we also let
> them through as it seems to be safe with the current code (from the
> reset forward-progress perspective).
>
> I vote to remove this exception altogether...

To me the right answer would be to reject user commands on the admin
or I/O queue for the not live controller as the callers need to handle
it.  That seems to make more sense to me than a special admin queue
exception.



More information about the Linux-nvme mailing list