[Linaro-mm-sig] [PATCH v3 1/2] habanalabs: define uAPI to export FD for DMA-BUF

Oded Gabbay oded.gabbay at gmail.com
Wed Jun 23 19:00:29 UTC 2021

On Wed, Jun 23, 2021 at 9:50 PM Jason Gunthorpe <jgg at ziepe.ca> wrote:
> On Wed, Jun 23, 2021 at 09:43:04PM +0300, Oded Gabbay wrote:
> > Can you please explain why it is so important to (allow) access them
> > through the CPU ?
> It is not so much important, as it reflects significant design choices
> that are already tightly baked into alot of our stacks.
> A SGL is CPU accessible by design - that is baked into this thing and
> places all over the place assume it. Even in RDMA we have
> RXE/SWI/HFI1/qib that might want to use the CPU side (grep for sg_page
> to see)
> So, the thing at the top of the stack - in this case the gaudi driver
> - simply can't assume what the rest of the stack is going to do and
> omit the CPU side. It breaks everything.
> Logan's patch series is the most fully developed way out of this
> predicament so far.

I understand the argument and I agree that for the generic case, the
top of the stack can't assume anything.
Having said that, in this case the SGL is encapsulated inside a dma-buf object.

Maybe its a stupid/over-simplified suggestion, but can't we add a
property to the dma-buf object,
that will be set by the exporter, which will "tell" the importer it
can't use any CPU fallback ? Only "real" p2p ?
Won't that solve the problem by eliminating the unsupported access methods ?


> > The whole purpose is that the other device accesses my device,
> > bypassing the CPU.
> Sure, but you don't know that will happen, or if it is even possible
> in any given system configuration. The purpose is to allow for that
> optimization when possible, not exclude CPU based approaches.
> Jason

More information about the amd-gfx mailing list