[PATCH 2/2] powerpc/pseries: pass MSI affinity to irq_create_mapping()

Thomas Gleixner tglx at linutronix.de
Wed Nov 25 09:35:34 AEDT 2020


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







More information about the Linuxppc-dev mailing list