Re: [PATCH 2/2] powerpc/pseries: pass MSI affinity to irq_create_mapping()
From: Thomas Gleixner <hidden>
Date: 2020-11-24 22:35:49
Also in:
linux-block, linux-pci, lkml
From: Thomas Gleixner <hidden>
Date: 2020-11-24 22:35:49
Also in:
linux-block, linux-pci, lkml
On Tue, Nov 24 2020 at 21:03, Laurent Vivier wrote:
With virtio multiqueue, normally each queue IRQ is mapped to a CPU. This problem cannot be shown on x86_64 for two reasons:
There is only _ONE_ reason why this is not a problem on x86. x86 uses the generic PCI/MSI domain which supports this out of the box.
- the call path traverses arch_setup_msi_irqs() that is arch specific:
virtscsi_probe()
virtscsi_init()
vp_modern_find_vqs()
vp_find_vqs()
vp_find_vqs_msix()
pci_alloc_irq_vectors_affinity()
__pci_enable_msix_range()
pci_msi_setup_msi_irqs()
arch_setup_msi_irqs()
rtas_setup_msi_irqs()
This is a problem on _all_ variants of PPC MSI providers, not only for
pseries. It's not restricted to virtscsi devices either, that's just the
device which made you discover this.
Thanks,
tglx