Re: [patch 21/32] NTB/msi: Convert to msi_on_each_desc()

From: Logan Gunthorpe
Date: Tue Nov 30 2021 - 14:21:55 EST




On 2021-11-29 5:29 p.m., Thomas Gleixner wrote:
> At the conceptual level these interrupts are in separate irq domains:
>
> | _______________________
> | | |
> | | NTB |
> | | |
> | | PCI config space |
> | | MSI-X space | <- #1 Global or per IOMMU zone PCI/MSI domain
> | |_____________________ |
> |---| |
> | Memory window A |
> | Memory window .. | <- #2 Per device NTB domain
> | Memory window N |
> |______________________|
>
> You surely can see the disctinction between #1 and #2, right?

I wouldn't say that's entirely obvious or even irrefutable. However, I'm
certainly open to this approach if it improves the code.

> I'm way too tired to come up with a proper solution for that, but that
> PCI_IRQ_VIRTUAL has to die ASAP.

I'm willing to volunteer a bit of my time to clean this up, but I'd need
a bit more direction on what a proper solution would look like. The MSI
domain code is far from well documented nor is it easy to understand.

Logan