On Mon, 2023-05-22 at 18:10 +0200, Joerg Roedel wrote: > On Mon, May 15, 2023 at 11:15:56AM +0200, Niklas Schnelle wrote: > > In the s390 IOMMU driver a large fixed queue size and timeout is then > > set together with single queue mode bringing its performance on s390 > > paged memory guests on par with the previous s390 specific DMA API > > implementation. > > Hmm, the right flush-queue size and timeout settings are more a function > of the endpoint device and device driver than of the iommu driver, no? I > think something like this could also help solving the recently reported > scalability problems in the fq-code, if done right. > > Regards, > > Joerg > In our case the large flush queue and timeout is needed because the IOTLB flushes of the virtualized s390 IOMMU are used by KVM and z/VM to synchronize their IOMMU shadow tables thus making them more expensive. This then applies to all pass-through PCI devices without their drivers knowing about the IOMMU being virtualized like that. But yes of course there could be cases where the device driver knows better. Thanks, Niklas