Hi, these patches implement the new IOTLB flush interface in the AMD IOMMU driver. But for it to take effect, changes in VFIO are also necessary, because VFIO unpins the pages after every successful iommu_unmap() call. This requires an IOTLB flush, so that we don't save flushes. So I implemented vfio-gather code to collect up to 32 ranges before they are unpinned together. This significantly reduces the number of necessary IOTLB flushes in my tests. Please review. Thanks, Joerg Joerg Roedel (4): iommu/amd: Finish TLB flush in amd_iommu_unmap() iommu/amd: Implement IOMMU-API TLB flush interface vfio/type1: Make use of iommu_unmap_fast() vfio/type1: Gather TLB-syncs and pages to unpin drivers/iommu/amd_iommu.c | 12 +++- drivers/vfio/vfio_iommu_type1.c | 128 ++++++++++++++++++++++++++++++++++++---- 2 files changed, 128 insertions(+), 12 deletions(-) -- 2.7.4