public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH rdma-next 00/10] RDMA: Extend uverbs umem support for QP buffers and doorbell records
@ 2026-02-03  8:49 Jiri Pirko
  2026-02-03  8:49 ` [PATCH rdma-next 01/10] RDMA/umem: Add reference counting to ib_umem Jiri Pirko
                   ` (10 more replies)
  0 siblings, 11 replies; 34+ messages in thread
From: Jiri Pirko @ 2026-02-03  8:49 UTC (permalink / raw)
  To: linux-rdma
  Cc: jgg, leon, mrgolin, gal.pressman, sleybo, parav, mbloch,
	yanjun.zhu, wangliang74, marco.crivellari, roman.gushchin,
	phaddad, lirongqing, ynachum, huangjunxian6,
	kalesh-anakkur.purayil, ohartoov, michaelgur, shayd, edwards,
	sriharsha.basavapatna, andrew.gospodarek, selvin.xavier

From: Jiri Pirko <jiri@nvidia.com>

This patchset extends the existing CQ umem buffer infrastructure to QP
creation and adds doorbell record (DBR) umem support for both CQ and QP.

The kernel already supports CQ creation with externally provided umem
buffers. This patchset:

1. Adds umem reference counting to simplify memory lifecycle management.
2. Adds mlx5 driver implementation for the existing CQ buffer umem support.
3. Extends QP creation to support external SQ/RQ buffer umems.
4. Adds doorbell record umem support for both CQ and QP.
5. Implements all extensions in mlx5 driver.

This enables integration with dmabuf exporters for specialized memory
types, such as GPU memory for GPU-direct RDMA scenarios.

Patch #1 introduces reference counting for ib_umem objects to simplify
memory lifecycle management when umem buffers are shared between the
core layer and device drivers.
Patch #2 adopts the new ib_umem refcounting model for create_cq_umem.
Patch #3 implements mlx5 driver support for the existing CQ buffer umem
interface.
Patch #4 factors out common buffer umem parsing into a shared helper.
Patch #5 adds core framework for QP buffer umem support with new uverbs
attributes for SQ/RQ buffers.
Patch #6 implements mlx5 driver support for QP buffer umem extension.
Patch #7 extends create_cq_umem device op with DBR umem parameter and
adds new uverbs attributes for CQ DBR.
Patch #8 implements mlx5 driver support for CQ DBR umem and extends the
doorbell mapping infrastructure.
Patch #9 extends create_qp_umem device op with DBR umem parameters and
adds new uverbs attributes for SQ/RQ DBR.
Patch #10 implements mlx5 driver support for QP DBR umem.

Jiri Pirko (10):
  RDMA/umem: Add reference counting to ib_umem
  RDMA/uverbs: Use umem refcounting for CQ creation with external buffer
  RDMA/mlx5: Add support for CQ creation with external umem buffer
  RDMA/uverbs: Factor out common buffer umem parsing into helper
  RDMA/core: Add support for QP buffer umem in QP creation
  RDMA/mlx5: Add support for QP creation with external umem buffers
  RDMA/uverbs: Add doorbell record umem support to CQ creation
  RDMA/mlx5: Add external doorbell record umem support for CQ
  RDMA/uverbs: Add doorbell record umem support to QP creation
  RDMA/mlx5: Add external doorbell record umem support for QP

 drivers/infiniband/core/core_priv.h           |   9 ++
 drivers/infiniband/core/device.c              |   1 +
 drivers/infiniband/core/umem.c                |   5 +
 drivers/infiniband/core/umem_dmabuf.c         |   1 +
 drivers/infiniband/core/umem_odp.c            |   3 +
 drivers/infiniband/core/uverbs_ioctl.c        |  68 +++++++++++
 drivers/infiniband/core/uverbs_std_types_cq.c | 104 +++++++---------
 drivers/infiniband/core/uverbs_std_types_qp.c | 114 +++++++++++++++++-
 drivers/infiniband/core/verbs.c               |  72 +++++++++--
 drivers/infiniband/hw/efa/efa.h               |   3 +-
 drivers/infiniband/hw/efa/efa_verbs.c         |  10 +-
 drivers/infiniband/hw/mlx5/cq.c               |  47 ++++++--
 drivers/infiniband/hw/mlx5/doorbell.c         |  27 ++++-
 drivers/infiniband/hw/mlx5/main.c             |   2 +
 drivers/infiniband/hw/mlx5/mlx5_ib.h          |   9 +-
 drivers/infiniband/hw/mlx5/qp.c               |  93 +++++++++++---
 drivers/infiniband/hw/mlx5/srq.c              |   2 +-
 include/rdma/ib_umem.h                        |   9 ++
 include/rdma/ib_verbs.h                       |   7 ++
 include/rdma/uverbs_ioctl.h                   |   7 ++
 include/uapi/rdma/ib_user_ioctl_cmds.h        |  20 +++
 21 files changed, 500 insertions(+), 113 deletions(-)

-- 
2.51.1


^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2026-02-04 17:56 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-03  8:49 [PATCH rdma-next 00/10] RDMA: Extend uverbs umem support for QP buffers and doorbell records Jiri Pirko
2026-02-03  8:49 ` [PATCH rdma-next 01/10] RDMA/umem: Add reference counting to ib_umem Jiri Pirko
2026-02-03 10:03   ` Leon Romanovsky
2026-02-03 10:11     ` Jiri Pirko
2026-02-03 12:26       ` Leon Romanovsky
2026-02-03 12:46         ` Jiri Pirko
2026-02-03 13:03           ` Leon Romanovsky
2026-02-03 13:20             ` Jiri Pirko
2026-02-03 13:32               ` Leon Romanovsky
2026-02-03 14:31                 ` Jiri Pirko
2026-02-03 13:49               ` Sriharsha Basavapatna
2026-02-03 14:29                 ` Jiri Pirko
2026-02-03 14:49                   ` Sriharsha Basavapatna
2026-02-03 14:51   ` Jason Gunthorpe
2026-02-03 15:39     ` Jiri Pirko
2026-02-03 16:59       ` Jason Gunthorpe
2026-02-04  7:01         ` Jiri Pirko
2026-02-04 15:38         ` Jiri Pirko
2026-02-04 17:46           ` Jason Gunthorpe
2026-02-04 17:54             ` Leon Romanovsky
2026-02-04 17:56               ` Jiri Pirko
2026-02-03 16:56     ` Leon Romanovsky
2026-02-03 17:01       ` Jason Gunthorpe
2026-02-03  8:49 ` [PATCH rdma-next 02/10] RDMA/uverbs: Use umem refcounting for CQ creation with external buffer Jiri Pirko
2026-02-03  8:49 ` [PATCH rdma-next 03/10] RDMA/mlx5: Add support for CQ creation with external umem buffer Jiri Pirko
2026-02-03  8:49 ` [PATCH rdma-next 04/10] RDMA/uverbs: Factor out common buffer umem parsing into helper Jiri Pirko
2026-02-03  8:49 ` [PATCH rdma-next 05/10] RDMA/core: Add support for QP buffer umem in QP creation Jiri Pirko
2026-02-03  8:49 ` [PATCH rdma-next 06/10] RDMA/mlx5: Add support for QP creation with external umem buffers Jiri Pirko
2026-02-03  8:49 ` [PATCH rdma-next 07/10] RDMA/uverbs: Add doorbell record umem support to CQ creation Jiri Pirko
2026-02-03  8:50 ` [PATCH rdma-next 08/10] RDMA/mlx5: Add external doorbell record umem support for CQ Jiri Pirko
2026-02-03  8:50 ` [PATCH rdma-next 09/10] RDMA/uverbs: Add doorbell record umem support to QP creation Jiri Pirko
2026-02-03  8:50 ` [PATCH rdma-next 10/10] RDMA/mlx5: Add external doorbell record umem support for QP Jiri Pirko
2026-02-03  9:59 ` [PATCH rdma-next 00/10] RDMA: Extend uverbs umem support for QP buffers and doorbell records Leon Romanovsky
2026-02-03 10:13   ` Jiri Pirko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox