Re: [PATCH v7 9/9] vfio/type1: Handle different mdev isolation type

From: Alex Williamson
Date: Thu Mar 07 2019 - 18:56:29 EST


On Thu, 7 Mar 2019 00:44:54 -0800
Neo Jia <cjia@xxxxxxxxxx> wrote:

> On Fri, Feb 22, 2019 at 10:19:27AM +0800, Lu Baolu wrote:
> > This adds the support to determine the isolation type
> > of a mediated device group by checking whether it has
> > an iommu device. If an iommu device exists, an iommu
> > domain will be allocated and then attached to the iommu
> > device. Otherwise, keep the same behavior as it is.
> >
> > Cc: Ashok Raj <ashok.raj@xxxxxxxxx>
> > Cc: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
> > Cc: Kevin Tian <kevin.tian@xxxxxxxxx>
> > Signed-off-by: Sanjay Kumar <sanjay.k.kumar@xxxxxxxxx>
> > Signed-off-by: Liu Yi L <yi.l.liu@xxxxxxxxx>
> > Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
> > Reviewed-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx>
> > ---
> > drivers/vfio/vfio_iommu_type1.c | 48 ++++++++++++++++++++++++++++-----
> > 1 file changed, 41 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
> > index ccc4165474aa..f1392c582a3c 100644
> > --- a/drivers/vfio/vfio_iommu_type1.c
> > +++ b/drivers/vfio/vfio_iommu_type1.c
> > @@ -1368,13 +1368,40 @@ static void vfio_iommu_detach_group(struct vfio_domain *domain,
> > iommu_detach_group(domain->domain, group->iommu_group);
> > }
> >
>
> Hi Baolu,
>
> To allow IOMMU-awared mdev, I think you need to modify the
> vfio_iommu_type1_pin_pages and vfio_iommu_type1_unpin_pages to remove the
> iommu->external_domain check.
>
> Could you please include that in your patch? If not, I can send out a separate
> patch to address that issue.

I figured it was intentional that an IOMMU backed mdev would not use
the pin/unpin interface and therefore the exiting -EINVAL returns would
be correct. Can you elaborate on the use case for still requiring the
mdev pin/unpin interface for these devices? Thanks,

Alex