abort question
Christoph Hellwig
hch at infradead.org
Thu Jun 11 06:24:46 PDT 2015
On Thu, Jun 11, 2015 at 09:12:54AM -0400, Matthew Wilcox wrote:
> On Thu, Jun 11, 2015 at 03:46:03AM -0700, Christoph Hellwig wrote:
> > Don't we need to reserve a request and SQ entry to that we can
> > always send an abort? Otherwise a lockded up controller will never
> > send a abort and always just reset the timer, and never escalate
> > to a controller reset.
>
> Aborts are sent on the admin queue, not the IO queue. There should
> always be plenty of space on the admin queue.
The default admin queue has 256 entries, of which we reserve one for the
AEN command. I've been hacking up a NVMe command fuzzer that sends
semi-random [1] commands to a device, and I manage to reproduce a case
where it seems like aborts don't make progress. I haven't fully sorted
it out yet, but it seems like aborts don't happen.
[1] I had to black list commands like I/O CQ/SQ deletion as that crashes
the driver pretty reliably.
More information about the Linux-nvme
mailing list