[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for 8.0 0/2] virtio-iommu: Fix Replay
From: |
Peter Xu |
Subject: |
Re: [PATCH for 8.0 0/2] virtio-iommu: Fix Replay |
Date: |
Wed, 7 Dec 2022 18:49:46 -0500 |
Hi, Eric,
On Wed, Dec 07, 2022 at 02:36:44PM +0100, Eric Auger wrote:
> When assigning VFIO devices protected by a virtio-iommu we need to replay
> the mappings when adding a new IOMMU MR and when attaching a device to
> a domain. While we do a "remap" we currently fail to first unmap the
> existing IOVA mapping and just map the new one. With some device/group
> topology this can lead to errors in VFIO when trying to DMA_MAP IOVA
> ranges onto existing ones.
I'm not sure whether virtio-iommu+vfio will suffer from DMA races like when
we were working on the vt-d replay for vfio. The issue is whether DMA can
happen right after UNMAP but before MAP of the same page if the page was
always mapped.
The vt-d resolved it by using iova_tree so in a replay vt-d knows the page
didn't change, so it avoids unmap+map. It only notifies newly unmapped or
newly mapped.
Thanks,
--
Peter Xu