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