Re: [PATCH mlx5-next v7 0/4] Dynamically assign MSI-X vectors count
From: Jason Gunthorpe <jgg@nvidia.com>
Date: 2021-03-25 17:37:35
Also in:
linux-pci, linux-rdma
From: Jason Gunthorpe <jgg@nvidia.com>
Date: 2021-03-25 17:37:35
Also in:
linux-pci, linux-rdma
On Thu, Mar 25, 2021 at 12:21:44PM -0500, Bjorn Helgaas wrote:
NVMe and mlx5 have basically identical functionality in this respect. Other devices and vendors will likely implement similar functionality. It would be ideal if we had an interface generic enough to support them all. Is the mlx5 interface proposed here sufficient to support the NVMe model? I think it's close, but not quite, because the the NVMe "offline" state isn't explicitly visible in the mlx5 model.
I thought Keith basically said "offline" wasn't really useful as a distinct idea. It is an artifact of nvme being a standards body divorced from the operating system. In linux offline and no driver attached are the same thing, you'd never want an API to make a nvme device with a driver attached offline because it would break the driver. So I think it is good as is (well one of the 8 versions anyhow). Keith didn't go into detail why the queue allocations in nvme were any different than the queue allocations in mlx5. I expect they can probably work the same where the # of interrupts is an upper bound on the # of CPUs that can get queues and the device, once instantiated, could be configured for the number of queues to actually operate, if it wants. Jason