lkml.org 
[lkml]   [2021]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC] /dev/ioasid uAPI proposal
    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.

    Jason

    \
     
     \ /
      Last update: 2021-06-08 21:16    [W:3.615 / U:0.204 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site