[SRU][jammy][PATCH 0/6] Backport RDMA DMABUF

Ian May ian.may at canonical.com
Wed Oct 25 20:07:44 UTC 2023


SRU Justification:

[Impact]

* From Nvidia:

"We are working on a high performance networking solution with real customers. That solution is being developed using the Ubuntu 22.04 LTS distro release and the distro kernel (lowlatency flavour). This “dma_buf” patchset consists of upstreamed patches that allow buffers to be shared between drivers thus enhancing performance while reducing copying of data.

Our team is currently engaged in the development of a high-performance networking solution tailored to meet the demands of real-world customers. This cutting-edge solution is being crafted on the foundation of Ubuntu 22.04 LTS, utilizing the distribution's kernel, specifically the lowlatency flavor.

At the heart of our innovation lies the transformative "dma_buf" patchset, comprising a series of patches that have been integrated into the upstream kernel in 5.16 and 5.17. These patches introduce a groundbreaking capability: enabling the seamless sharing of buffers among various drivers. This not only bolsters the solution's performance but also minimizes the need for data copying, effectively enhancing efficiency across the board.

The new functionality is isolated such that existing user will not execute these new code paths."

Upstream Reference

https://lore.kernel.org/all/20211012120903.96933-1-galpress@amazon.com/
https://lore.kernel.org/all/0-v1-bd147097458e+ede-umem_dmabuf_jgg@nvidia.com/
The patch "[PATCH 1/4] net/mlx5: Add IFC bits for mkey ATS" is already in Jammy and was included in:
"2a1e6097e9b9 UBUNTU: SAUCE: RDMA/core: Updated ib_peer_memory"

[Test Plan]

* Testing instructions are outlined in the SF case and has been tested on in house hardware and externally by Nvidia.

[Where problems could occur?]

* This introduces new code paths so regression potential should be low.

[Other Info]

* SF#00370664


Gal Pressman (3):
  dma-buf: Fix pin callback comment
  RDMA/umem: Allow pinned dmabuf umem usage
  RDMA/efa: Add support for dmabuf memory regions

Jason Gunthorpe (3):
  RDMA/core: Add UVERBS_ATTR_RAW_FD
  RDMA/mlx5: Add support for dmabuf to devx umem
  RDMA/mlx5: Enable ATS support for MRs and umems

 drivers/infiniband/core/umem_dmabuf.c    |  51 +++++++++
 drivers/infiniband/core/uverbs_ioctl.c   |   8 ++
 drivers/infiniband/hw/efa/efa.h          |   4 +
 drivers/infiniband/hw/efa/efa_main.c     |   1 +
 drivers/infiniband/hw/efa/efa_verbs.c    | 127 +++++++++++++++++------
 drivers/infiniband/hw/mlx5/devx.c        |  54 +++++++---
 drivers/infiniband/hw/mlx5/mlx5_ib.h     |  36 +++++++
 drivers/infiniband/hw/mlx5/mr.c          |   5 +-
 include/linux/dma-buf.h                  |   4 +-
 include/rdma/ib_umem.h                   |  11 ++
 include/rdma/uverbs_ioctl.h              |  13 +++
 include/uapi/rdma/mlx5_user_ioctl_cmds.h |   1 +
 12 files changed, 265 insertions(+), 50 deletions(-)

-- 
2.25.1




More information about the kernel-team mailing list