Logan, On Mon, Nov 29 2021 at 11:21, Logan Gunthorpe wrote: > On 2021-11-26 6:23 p.m., Thomas Gleixner wrote: >> Replace the about to vanish iterators, make use of the filtering and take >> the descriptor lock around the iteration. > > This patch looks good to me: > > Reviewed-by: Logan Gunthorpe <logang@xxxxxxxxxxxx> thanks for having a look at this. While I have your attention, I have a question related to NTB. The switchtec driver is the only one which uses PCI_IRQ_VIRTUAL in order to allocate non-hardware backed MSI-X descriptors. AFAIU these descriptors are not MSI-X descriptors in the regular sense of PCI/MSI-X. They are allocated via the PCI/MSI mechanism but their usage is somewhere in NTB which has nothing to do with the way how the real MSI-X interrupts of a device work which explains why we have those pci.msi_attrib.is_virtual checks all over the place. I assume that there are other variants feeding into NTB which can handle that without this PCI_IRQ_VIRTUAL quirk, but TBH, I got completely lost in that code. Could you please shed some light on the larger picture of this? Thanks, tglx