Re: [RFC] /dev/ioasid uAPI proposal

From: David Gibson
Date: Thu Jun 17 2021 - 03:22:27 EST


On Tue, Jun 08, 2021 at 04:04:06PM -0300, Jason Gunthorpe wrote:
> On Tue, Jun 08, 2021 at 10:53:02AM +1000, David Gibson wrote:
> > On Thu, Jun 03, 2021 at 08:52:24AM -0300, Jason Gunthorpe wrote:
> > > On Thu, Jun 03, 2021 at 03:13:44PM +1000, David Gibson wrote:
> > >
> > > > > We can still consider it a single "address space" from the IOMMU
> > > > > perspective. What has happened is that the address table is not just a
> > > > > 64 bit IOVA, but an extended ~80 bit IOVA formed by "PASID, IOVA".
> > > >
> > > > True. This does complexify how we represent what IOVA ranges are
> > > > valid, though. I'll bet you most implementations don't actually
> > > > implement a full 64-bit IOVA, which means we effectively have a large
> > > > number of windows from (0..max IOVA) for each valid pasid. This adds
> > > > another reason I don't think my concept of IOVA windows is just a
> > > > power specific thing.
> > >
> > > Yes
> > >
> > > Things rapidly get into weird hardware specific stuff though, the
> > > request will be for things like:
> > > "ARM PASID&IO page table format from SMMU IP block vXX"
> >
> > So, I'm happy enough for picking a user-managed pagetable format to
> > imply the set of valid IOVA ranges (though a query might be nice).
>
> I think a query is mandatory, and optionally asking for ranges seems
> generally useful as a HW property.
>
> The danger is things can get really tricky as the app can ask for
> ranges some HW needs but other HW can't provide.
>
> I would encourage a flow where "generic" apps like DPDK can somehow
> just ignore this, or at least be very, very simplified "I want around
> XX GB of IOVA space"
>
> dpdk type apps vs qemu apps are really quite different and we should
> be carefully that the needs of HW accelerated vIOMMU emulation do not
> trump the needs of simple universal control over a DMA map.

Agreed.

--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature