PCI/MSI: Provide pci_alloc_irq_vectors_affinity()
authorChristoph Hellwig <hch@lst.de>
Wed, 9 Nov 2016 01:15:05 +0000 (17:15 -0800)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 9 Nov 2016 07:25:10 +0000 (08:25 +0100)
commit402723ad5c625ee052432698ae5e56b02d38d4ec
treeac5eab5d6638f13c289287aef2016bdacb1bba21
parent61e1c5905290efe48bacda5e342d4af4cb1b923b
PCI/MSI: Provide pci_alloc_irq_vectors_affinity()

This is a variant of pci_alloc_irq_vectors() that allows passing a struct
irq_affinity to provide fine-grained IRQ affinity control.

For now this means being able to exclude vectors at the beginning or end of
the MSI vector space, but it could also be used for any other quirks needed
in the future (e.g. more vectors than CPUs, or excluding CPUs from the
spreading).

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Jens Axboe <axboe@kernel.dk>
Cc: linux-block@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Link: http://lkml.kernel.org/r/1478654107-7384-6-git-send-email-hch@lst.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/pci/msi.c
include/linux/pci.h