Re: [PATCH] vfio iommu type1: Improve vfio_iommu_type1_pin_pages performance

From: Alex Williamson
Date: Wed Nov 11 2020 - 10:56:49 EST


On Tue, 10 Nov 2020 21:42:33 +0800
"xuxiaoyang (C)" <xuxiaoyang2@xxxxxxxxxx> wrote:

> vfio_iommu_type1_pin_pages is very inefficient because
> it is processed page by page when calling vfio_pin_page_external.
> Added contiguous_vaddr_get_pfn to process continuous pages
> to reduce the number of loops, thereby improving performance.

vfio_pin_pages() accepts an array of unrelated iova pfns and processes
each to return the physical pfn. AFAICT this proposal makes an
unfounded and unverified assumption that the caller is asking for a
range of contiguous iova pfns. That's not the semantics of the call.
This is wrong. Thanks,

Alex