genirq: Add a helper to spread an affinity mask for MSI/MSI-X vectors
authorChristoph Hellwig <hch@lst.de>
Mon, 4 Jul 2016 08:39:27 +0000 (17:39 +0900)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 4 Jul 2016 10:25:14 +0000 (12:25 +0200)
commit5e385a6ef31fbbf2acbda770aecc2bc2ff933d17
tree2845d6e1d4633d50683a07d0c2bebafc990c7b2a
parent0972fa57f53525ffa6ced12d703750fc2791e3ce
genirq: Add a helper to spread an affinity mask for MSI/MSI-X vectors

This is lifted from the blk-mq code and adopted to use the affinity mask
concept just introduced in the irq handling code.  It tries to keep the
algorithm the same as the one current used by blk-mq, but improvements
like assining vectors on a per-node basis instead of just per sibling
are possible with this simple move and refactoring.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: linux-block@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Cc: linux-nvme@lists.infradead.org
Cc: axboe@fb.com
Cc: agordeev@redhat.com
Link: http://lkml.kernel.org/r/1467621574-8277-7-git-send-email-hch@lst.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/interrupt.h
kernel/irq/Makefile
kernel/irq/affinity.c [new file with mode: 0644]