This is a problem only in xenial and later (yakkety, zesty, upstream).
The issue is the driver configures an MSIX interrupt to use with the
admin queue during initialization, and then when setting up its I/O
queues, it releases the MSIX interrupt for the admin queue, and then
immediately configures lots of MSIX interrupts for its I/O queues (the
admin queue then shares the MSIX interrupt of the first I/O queue).
This MSIX release/request is what causes the failure; if the MSIX
interrupts are configured only once, the driver initializes all
controllers ok.
Before the xenial kernel (e.g. in trusty), the driver works. However,
the reason it works is because it uses a polling kthread instead of a
MSIX interrupt for the admin queue, and so doesn't request the first
single MSIX interrupt, thus this specific problem isn't present there.
Later kernels, starting with xenial, do not use the polling kthread (as
it was never actually needed), and do use MSIX interrupts for the admin
queue and I/O queues.
** Changed in: linux (Ubuntu)
Assignee: (unassigned) => Dan Streetman (ddstreet)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1648449
Title:
NVMe drives in Amazon AWS instance fail to initialize
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1648449/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs