Commit-ID: 0972fa57f53525ffa6ced12d703750fc2791e3ce Gitweb: http://git.kernel.org/tip/0972fa57f53525ffa6ced12d703750fc2791e3ce Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> AuthorDate: Mon, 4 Jul 2016 17:39:26 +0900 Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx> CommitDate: Mon, 4 Jul 2016 12:25:14 +0200 genirq/msi: Make use of affinity aware allocations Allow the MSI code to provide affinity hints per MSI descriptor. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: linux-block@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: linux-nvme@xxxxxxxxxxxxxxxxxxx Cc: axboe@xxxxxx Cc: agordeev@xxxxxxxxxx Link: http://lkml.kernel.org/r/1467621574-8277-6-git-send-email-hch@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> --- include/linux/msi.h | 2 ++ kernel/irq/msi.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/linux/msi.h b/include/linux/msi.h index c33abfa..4f0bfe5 100644 --- a/include/linux/msi.h +++ b/include/linux/msi.h @@ -47,6 +47,7 @@ struct fsl_mc_msi_desc { * @nvec_used: The number of vectors used * @dev: Pointer to the device which uses this descriptor * @msg: The last set MSI message cached for reuse + * @affinity: Optional pointer to a cpu affinity mask for this descriptor * * @masked: [PCI MSI/X] Mask bits * @is_msix: [PCI MSI/X] True if MSI-X @@ -67,6 +68,7 @@ struct msi_desc { unsigned int nvec_used; struct device *dev; struct msi_msg msg; + const struct cpumask *affinity; union { /* PCI MSI/X specific data */ diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c index 58dbbac..0e2a736 100644 --- a/kernel/irq/msi.c +++ b/kernel/irq/msi.c @@ -335,7 +335,7 @@ int msi_domain_alloc_irqs(struct irq_domain *domain, struct device *dev, virq = __irq_domain_alloc_irqs(domain, -1, desc->nvec_used, dev_to_node(dev), &arg, false, - NULL); + desc->affinity); if (virq < 0) { ret = -ENOSPC; if (ops->handle_error) -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |