[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211011233817.GS2744544@nvidia.com>
Date: Mon, 11 Oct 2021 20:38:17 -0300
From: Jason Gunthorpe <jgg@...dia.com>
To: Jean-Philippe Brucker <jean-philippe@...aro.org>
Cc: David Gibson <david@...son.dropbear.id.au>,
Liu Yi L <yi.l.liu@...el.com>, alex.williamson@...hat.com,
hch@....de, jasowang@...hat.com, joro@...tes.org,
kevin.tian@...el.com, parav@...lanox.com, lkml@...ux.net,
pbonzini@...hat.com, lushenming@...wei.com, eric.auger@...hat.com,
corbet@....net, ashok.raj@...el.com, yi.l.liu@...ux.intel.com,
jun.j.tian@...el.com, hao.wu@...el.com, dave.jiang@...el.com,
jacob.jun.pan@...ux.intel.com, kwankhede@...dia.com,
robin.murphy@....com, kvm@...r.kernel.org,
iommu@...ts.linux-foundation.org, dwmw2@...radead.org,
linux-kernel@...r.kernel.org, baolu.lu@...ux.intel.com,
nicolinc@...dia.com
Subject: Re: [RFC 11/20] iommu/iommufd: Add IOMMU_IOASID_ALLOC/FREE
On Mon, Oct 11, 2021 at 09:49:57AM +0100, Jean-Philippe Brucker wrote:
> Seems like we don't need the negotiation part? The host kernel
> communicates available IOVA ranges to userspace including holes (patch
> 17), and userspace can check that the ranges it needs are within the IOVA
> space boundaries. That part is necessary for DPDK as well since it needs
> to know about holes in the IOVA space where DMA wouldn't work as expected
> (MSI doorbells for example).
I haven't looked super closely at DPDK, but the other simple VFIO app
I am aware of struggled to properly implement this semantic (Indeed it
wasn't even clear to the author this was even needed).
It requires interval tree logic inside the application which is not a
trivial algorithm to implement in C.
I do wonder if the "simple" interface should have an option more like
the DMA API where userspace just asks to DMA map some user memory and
gets back the dma_addr_t to use. Kernel manages the allocation
space/etc.
Jason
Powered by blists - more mailing lists