RE: [PATCH 2/5] iommu: Call helper function to get assigned pasid value

From: Tian, Kevin
Date: Thu Aug 10 2023 - 23:18:53 EST


> From: Jason Gunthorpe <jgg@xxxxxxxx>
> Sent: Friday, August 11, 2023 12:37 AM
>
> On Thu, Aug 10, 2023 at 07:52:52AM +0000, Tian, Kevin wrote:
>
> > > The driver should rely on there being exactly one iommu_domain for SVA
> > > per mm so it can hang the mm_notifier off the iommu_domain
> >
> > I'm confused. Isn't this series trying to allow multiple domains per mm?
>
> It is doing both.
>
> The main objective is to allow de-duplicating the SVA domains in the
> core code. The driver should be able to assume one SVA domain per
> instance, or even one SVA domain per compatible instance. The driver
> should not do any de-duplication.
>
> But we can't just store a single iommu_domain in the mm_struct - we
> have the same problem as iommufd and we need to create more domains if
> the domains we already have are incompatible with the device.
>
> Arguably this should not happen, and in any sane configuration we
> should have only 1 type of IOMMU driver that needs only 1 SVA domain.
>
> But right now things like SMMUv3 have problems crossing domains across
> instances, so we could have one SVA domain per IOMMU instance until
> that is fixed.
>

Thanks for the explanation. Tina, please include this information in your
next version so others can easily understand the motivation of introducing
multiple sva domains per mm.