On Fri, May 01, 2020 at 05:15:52AM -0700, Christoph Hellwig wrote:
> > @@ -432,6 +432,7 @@ config ARM_SMMU_V3
> >     tristate "ARM Ltd. System MMU Version 3 (SMMUv3) Support"
> >     depends on ARM64
> >     select IOMMU_API
> > +   select IOMMU_SVA
> >     select IOMMU_IO_PGTABLE_LPAE
> >     select GENERIC_MSI_IRQ_DOMAIN
> 
> Doesn't this need to select MMU_NOTIFIER now?
> 
> > +   struct mmu_notifier_ops         mn_ops;
> 
> Note: not a pointer.
> 
> > +   /* If bind() was already called for this (dev, mm) pair, reuse it. */
> > +   list_for_each_entry(bond, &master->bonds, list) {
> > +           if (bond->mm == mm) {
> > +                   refcount_inc(&bond->refs);
> > +                   return &bond->sva;
> > +           }
> > +   }

I also would like it if searching for mms in linked lists was not
necessary, this is kind of the point of 'get'

Is this a side effect of the earlier remark to get rid of the linked
list inside the notifier?

> Or we could enhance the mmu_notifier_get to pass a private
> oaque instance ID pointer, which is checked in addition to the ops,
> and you could probably kill off the bonds list and lookup.

This might be the best option if it can absorb the above search..

Jason
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to