Messages in this thread | | | Subject | Re: [PATCH v9 6/6] iommu/dma: Make flush queue sizes and timeout driver configurable | From | Niklas Schnelle <> | Date | Tue, 23 May 2023 14:20:24 +0200 |
| |
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
| |