All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-next 0/4] Introduce Completion Counters
@ 2026-04-07 11:54 Michael Margolin
  2026-04-07 11:54 ` [PATCH for-next 1/4] RDMA/core: Add Completion Counters support Michael Margolin
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Michael Margolin @ 2026-04-07 11:54 UTC (permalink / raw)
  To: jgg, leon, linux-rdma; +Cc: sleybo, matua, gal.pressman

Add core infrastructure for Completion Counters, a light-weight
alternative to polling CQ for tracking operation completions. The
related rdma-core interface proposal is linked in [1].

Define the UVERBS_OBJECT_COMP_CNTR ioctl object with create, destroy,
set, inc and read methods for both success and error counters. Add a
QP attach method on the QP object to associate a completion counter
with a queue pair.

Completion Counters can be backed by user-provided VA or dmabuf or by
internal device/driver memory. Common command infrastructure allows any
of the implementations to support the various device capabilities.

Add EFA Completion Counters support as first implementer.

[1] https://github.com/linux-rdma/rdma-core/pull/1701

Michael Margolin (4):
  RDMA/core: Add Completion Counters support
  RDMA/core: Add Completion Counters to resource tracking
  RDMA/efa: Update device interface
  RDMA/efa: Add Completion Counters support

 drivers/infiniband/core/Makefile              |   1 +
 drivers/infiniband/core/device.c              |  10 +
 drivers/infiniband/core/nldev.c               |   1 +
 drivers/infiniband/core/rdma_core.h           |   1 +
 drivers/infiniband/core/restrack.c            |   2 +
 drivers/infiniband/core/uverbs_cmd.c          |   1 +
 .../core/uverbs_std_types_comp_cntr.c         | 379 ++++++++++++++++++
 drivers/infiniband/core/uverbs_std_types_qp.c |  45 ++-
 drivers/infiniband/core/uverbs_uapi.c         |   1 +
 drivers/infiniband/hw/efa/efa.h               |  15 +
 .../infiniband/hw/efa/efa_admin_cmds_defs.h   | 185 ++++++++-
 drivers/infiniband/hw/efa/efa_com_cmd.c       | 106 +++++
 drivers/infiniband/hw/efa/efa_com_cmd.h       |  36 ++
 drivers/infiniband/hw/efa/efa_io_defs.h       |  62 ++-
 drivers/infiniband/hw/efa/efa_main.c          |   8 +
 drivers/infiniband/hw/efa/efa_verbs.c         | 177 ++++++++
 include/rdma/ib_verbs.h                       |  27 ++
 include/rdma/restrack.h                       |   4 +
 include/uapi/rdma/efa-abi.h                   |   1 +
 include/uapi/rdma/ib_user_ioctl_cmds.h        |  65 +++
 include/uapi/rdma/ib_user_ioctl_verbs.h       |   9 +
 include/uapi/rdma/ib_user_verbs.h             |   2 +-
 22 files changed, 1131 insertions(+), 7 deletions(-)
 create mode 100644 drivers/infiniband/core/uverbs_std_types_comp_cntr.c

-- 
2.47.3


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

end of thread, other threads:[~2026-04-28 22:47 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-07 11:54 [PATCH for-next 0/4] Introduce Completion Counters Michael Margolin
2026-04-07 11:54 ` [PATCH for-next 1/4] RDMA/core: Add Completion Counters support Michael Margolin
2026-04-07 14:17   ` Jason Gunthorpe
2026-04-09 16:00     ` Michael Margolin
2026-04-09 16:13       ` Jason Gunthorpe
2026-04-09 17:29         ` Sean Hefty
2026-04-09 18:55           ` Jason Gunthorpe
2026-04-09 19:15             ` Sean Hefty
2026-04-09 19:44               ` Jason Gunthorpe
2026-04-09 22:23                 ` Sean Hefty
2026-04-13 16:14                   ` Michael Margolin
2026-04-09 18:36         ` Michael Margolin
2026-04-07 11:54 ` [PATCH for-next 2/4] RDMA/core: Add Completion Counters to resource tracking Michael Margolin
2026-04-07 11:54 ` [PATCH for-next 3/4] RDMA/efa: Update device interface Michael Margolin
2026-04-07 11:54 ` [PATCH for-next 4/4] RDMA/efa: Add Completion Counters support Michael Margolin
2026-04-17 22:41   ` kernel test robot
2026-04-28 22:31 ` [PATCH for-next 0/4] Introduce Completion Counters Doug Ledford

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.