This series enhances the irq and PCI code to allow spreading around MSI and MSI-X vectors so that they have per-cpu affinity if possible, or at least per-node. For that it takes the algorithm from blk-mq, moves it to a common place, and makes it available through a vastly simplified PCI interrupt allocation API. It then switches blk-mq to be able to pick up the queue mapping from the device if available, and demonstrates all this using the NVMe driver. There also is a git tree available at: git://git.infradead.org/users/hch/block.git Gitweb: http://git.infradead.org/users/hch/block.git/shortlog/refs/heads/msix-spreading.4 Changes since V1: - irq core improvements to properly assign the affinity before request_irq (tglx) - better handling of the MSI vs MSI-X differences in the low level MSI allocator (hch and tglx) - various improvements to pci_alloc_irq_vectors (hch) - remove blk-mq hardware queue reassigned on hotplug cpu events (hch) - forward ported to Jens' current for-next tree (hch) -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html