On 11/07/2016 12:07 AM, Christoph Hellwig wrote: > Some drivers (various network and RDMA adapter for example) have a MSI-X > vector layout where most of the vectors are used for I/O queues and should > have CPU affinity assigned to them, but some (usually 1 but sometimes more) > at the beginning or end are used for low-performance admin or configuration > work and should not have any explicit affinity assigned to them. > > This adds a new irq_affinity structure passed through a variant of > pci_irq_alloc_vectors that allows to specify these requirements (and is > extensible to any future quirks in that area) so that the core IRQ > affinity algorithm can take this quirks into account. > > It also removes the unused irq_affinity mask in struct pci_dev. If we > ever need that sort of functionality it should be passed through > struct irq_affinity. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > drivers/pci/msi.c | 61 ++++++++++++++++++++++++-------------------- > include/linux/interrupt.h | 26 ++++++++++++++++--- > include/linux/pci.h | 14 ++++++---- > kernel/irq/affinity.c | 65 ++++++++++++++++++++++++----------------------- > 4 files changed, 98 insertions(+), 68 deletions(-) > Good idea. Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html