[PATCH] NVMe: Re-introduce polling for completions
Christoph Hellwig
hch at infradead.org
Tue Apr 5 05:35:23 PDT 2016
On Mon, Apr 04, 2016 at 04:24:49PM -0600, Keith Busch wrote:
> Multiple users have reported device initialization failure on some
> platforms due the driver not receiving expected interrupts. This is not
> the fault of any particular controller. This patch polls for completions
> on the admin queue in the watchdog timer, and starts the timer immediately
> after controller initialization completes, just before the first admin
> command is issued.
So how do any other PCIe device work given that almost no driver does
unconditionaly polling?
> + spin_lock_irq(&admin_q->q_lock);
> + nvme_process_cq(admin_q);
> + spin_unlock_irq(&admin_q->q_lock);
Add a comment on why this is done. Given that only the admin queue
is polled it's going to be a really convoluted explanation which should
be spelled out in detail.
More information about the Linux-nvme
mailing list