Re: [PATCH v12 12/17] arm-smmu-v3/sva: Add SVA domain support

Jason Gunthorpe
2022-08-29T17:29:20Z

On Sun, Aug 28, 2022 at 09:57:21PM +0800, Baolu Lu wrote:
> On 2022/8/26 22:56, Jason Gunthorpe wrote:
> > On Fri, Aug 26, 2022 at 08:11:36PM +0800, Lu Baolu wrote:
> >
> > > +static const struct iommu_domain_ops arm_smmu_sva_domain_ops = {
> > > + .set_dev_pasid = arm_smmu_sva_set_dev_pasid,
> > Do we want to permit drivers to not allow a SVA domain to be set on a
> > RID?
> >
> > It seems like a weird restriction to me
>
> Conceptually as long as the page table is compatible and user pages are
> pinned (or I/O page fault is supported), the device drivers are valid to
> set SVA domain to a RID. But I don't see a real use case as far as I can
> see.

It may be interesting for something like DPDK type applications where
having the entire process address space mapped SVA to the device could
be quite nice.

You, currently, give up interrupts, but perhaps that is solvable in some
way.

So, IDK.. I wouldn't dismiss it entirely but I wouldn't do a bunch of
work to support it either.

> A reasonable use case is sharing EPT between KVM and IOMMU. That demands
> a new type of domain and implements its own .set_dev for page table
> attachment.

Not everything is virtualization :)

Jason