Re: [PATCH v3 0/2] iommu/vt-d: Fix mapping PSI missing for iommu_map()
From: Lu Baolu
Date: Fri May 04 2018 - 03:32:07 EST
Hi,
On 05/04/2018 10:34 AM, Peter Xu wrote:
> v3:
> - drop the pr_debug patch [Joerg]
> - rename all the subjects as suggested [Joerg]
> - rebase
>
> v2:
> - cc correct people and iommu list
>
> (PSI stands for: Page Selective Invalidations)
>
> Intel IOMMU has the caching mode to ease emulation of the device.
> When that bit is set, we need to send PSIs even for newly mapped
> pages. However current driver is not fully obey the rule. E.g.,
> iommu_map() API will only do the mapping but it never sent the PSIs
> before. That can be problematic to emulated IOMMU devices since
> they'll never be able to build up the shadow page tables if without
> such information. This patchset tries to fix the problem.
>
> Patch 1 introduces a helper to notify the MAP PSIs.
>
> Patch 2 fixes the real problem by making sure every domain mapping
> will trigger the MAP PSI notifications.
>
> Without the patchset, nested device assignment (assign one device
> firstly to L1 guest, then to L2 guest) won't work for QEMU. After
> applying the patchset, it works.
>
> Please review. Thanks.
Both patches look good to me.
Best regards,
Lu Baolu
>
> Peter Xu (2):
> iommu/vt-d: Introduce __mapping_notify_one()
> iommu/vt-d: Fix iotlb psi missing for mappings
>
> drivers/iommu/intel-iommu.c | 65 ++++++++++++++++++++++++++-----------
> 1 file changed, 46 insertions(+), 19 deletions(-)
>