Thread (48 messages) 48 messages, 9 authors, 2021-06-24

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

From: Oded Gabbay <hidden>
Date: 2021-06-21 16:55:39
Also in: amd-gfx, dri-devel, linux-media, lkml

On Mon, Jun 21, 2021 at 5:12 PM Jason Gunthorpe [off-list ref] wrote:
On Mon, Jun 21, 2021 at 03:02:10PM +0200, Greg KH wrote:
quoted
On Mon, Jun 21, 2021 at 02:28:48PM +0200, Daniel Vetter wrote:
quoted
quoted
Also I'm wondering which is the other driver that we share buffers
with. The gaudi stuff doesn't have real struct pages as backing
storage, it only fills out the dma_addr_t. That tends to blow up with
other drivers, and the only place where this is guaranteed to work is
if you have a dynamic importer which sets the allow_peer2peer flag.
Adding maintainers from other subsystems who might want to chime in
here. So even aside of the big question as-is this is broken.
From what I can tell this driver is sending the buffers to other
instances of the same hardware,
A dmabuf is consumed by something else in the kernel calling
dma_buf_map_attachment() on the FD.

What is the other side of this? I don't see any
dma_buf_map_attachment() calls in drivers/misc, or added in this patch
set.
This patch-set is only to enable the support for the exporter side.
The "other side" is any generic RDMA networking device that will want
to perform p2p communication over PCIe with our GAUDI accelerator.
An example is indeed the mlnx5 card which has already integrated
support for being an "importer".

This is *not* used for communication with another GAUDI device. If I
want to communicate with another GAUDI device, our userspace
communications library will use our internal network links, without
any need for dma-buf.

Oded
AFAIK the only viable in-tree other side is in mlx5 (look in
umem_dmabuf.c)

Though as we already talked habana has their own networking (out of
tree, presumably) so I suspect this is really to support some out of
tree stuff??

Jason
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help