Re: [RFC PATCH] pci: add pci_irq_get_affinity_vector()

From: Christoph Hellwig
Date: Tue Nov 08 2016 - 10:11:57 EST


On Tue, Nov 08, 2016 at 04:08:51PM +0100, Hannes Reinecke wrote:
> The use-case here is that one needs to feed the MSI-X index into the driver
> command structure. While we can extract that number trivially with scsi-mq,
> but for scsi-sq we don't have such means.

> The main impetus of this RFC is to figure out if such a function would have
> a chance of getting upstream, or if I have to continue use cpumaps in the
> drivers.

There should be no need for a cpumap, nor should there be any need
for a lookup. Driver will need the vector index for some admin ops,
but it can store it in it's driver-private queue structure (e.g. take
a look at the cq_vector field in NVMe). Drivers really should not need
this during I/O, but if for some weird reason they do that driver specific
field is trivially reachable through the hw_ctx which gets passed to
->queue_rq.