RE: [RFC PATCH 06/12] iommu: Add mmu_notifier to sva domain

From: Zhang, Tina
Date: Wed Nov 01 2023 - 07:59:01 EST


Hi Jason,

> -----Original Message-----
> From: Jason Gunthorpe <jgg@xxxxxxxx>
> Sent: Tuesday, October 24, 2023 2:35 AM
> To: Zhang, Tina <tina.zhang@xxxxxxxxx>
> Cc: iommu@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx;
> David Woodhouse <dwmw2@xxxxxxxxxxxxx>; Lu Baolu
> <baolu.lu@xxxxxxxxxxxxxxx>; Joerg Roedel <joro@xxxxxxxxxx>; Tian, Kevin
> <kevin.tian@xxxxxxxxx>
> Subject: Re: [RFC PATCH 06/12] iommu: Add mmu_notifier to sva domain
>
>
> On Tue, Oct 17, 2023 at 11:20:39AM +0800, Tina Zhang wrote:
> > Devices attached to shared virtual addressing (SVA) domain are allowed
> > to use the same virtual addresses with processor, and this
> > functionality is called shared virtual memory. When shared virtual
> > memory is being used, it's the sva domain's responsibility to keep
> > device TLB cache and the CPU cache in sync. Hence add mmu_notifier to sva
> domain.
> >
> > Signed-off-by: Tina Zhang <tina.zhang@xxxxxxxxx>
> > ---
> > include/linux/iommu.h | 2 ++
> > 1 file changed, 2 insertions(+)
>
> You should look at how arm smmuv3 ended up after I went over it to make
> similar changes, I think you should take this patch
>
> https://lore.kernel.org/linux-iommu/20-v1-afbb86647bbd+5-
> smmuv3_newapi_p2_jgg@xxxxxxxxxx/
>
> into this series (maybe drop the arm part)
Good suggestion. The new domain_alloc_sva() callback allows drivers to fully initialize sva domain that is what we need. I'll take the domain_alloc_sva() part as a patch and include it in this patch-set. Thanks.

>
> And copy the same basic structure for how the mmu notifier works.
>
> It would also be nice if alot of the 'if_sva' tests could be avoided, smmu didn't
> end up with those..
Agree. With the help of domain_alloc_sva() callback, I think most of the if_sva brought by this RFC version can be reduced, as we can reuse fields from dmar_domain (or add new ones if necessary) and initialize them in domain_alloc_sva().

Regards,
-Tina
>
> In the guts of the pasid handling sva shouldn't be special beyond a different
> source for the pgd.
>
> Jason