Re: [PATCH 1/5] blk-mq: Export reading mq request state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2019-03-08 at 12:19 -0700, Keith Busch wrote:
+AD4 On Fri, Mar 08, 2019 at 10:42:17AM -0800, Bart Van Assche wrote:
+AD4 +AD4 I think that the NVMe spec provides a more elegant mechanism,
+AD4 +AD4 namely deleting the I/O submission queues. According to what I read in the
+AD4 +AD4 1.3c spec deleting an I/O submission queue forces an NVMe controller to post a 
+AD4 +AD4 completion for every outstanding request. See also section 5.6 in the NVMe
+AD4 +AD4 1.3c spec.
+AD4 
+AD4 That's actually not what it says. The controller may or may not post a
+AD4 completion entry with a delete SQ command. The first behavior is defined
+AD4 in the spec as +ACI-explicit+ACI and the second as +ACI-implicit+ACI. For implicit,
+AD4 we have to iterate inflight tags.

Hi Keith,

Thanks for the clarification. Are you aware of any mechanism in the NVMe spec
that causes all outstanding requests to fail? With RDMA this is easy - all
one has to do is to change the queue pair state into IB+AF8-QPS+AF8-ERR. See also
ib+AF8-drain+AF8-qp() in the RDMA core.

If no such mechanism has been defined in the NVMe spec: have you considered
to cancel all outstanding requests instead of calling blk+AF8-mq+AF8-end+AF8-request() for
all outstanding requests?

Thanks,

Bart.



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux