From: Michael Margolin <mrgolin@amazon.com>
To: <jgg@nvidia.com>, <leon@kernel.org>, <linux-rdma@vger.kernel.org>
Cc: <sleybo@amazon.com>, <matua@amazon.com>, <gal.pressman@linux.dev>
Subject: [PATCH for-next v2 0/5] Introduce Completion Counters
Date: Thu, 16 Apr 2026 21:23:22 +0000 [thread overview]
Message-ID: <20260416212327.18191-1-mrgolin@amazon.com> (raw)
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
---
Changes in v2:
- United set, inc and read flows for successful and error completions
counters
- Added comp_cntr usage count
- Minor cleanups
- Link to v1: https://lore.kernel.org/all/20260407115424.13359-1-mrgolin@amazon.com/
Michael Margolin (5):
RDMA/core: Add Completion Counters support
RDMA/core: Prevent destroying in-use completion counters
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 | 7 +
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 | 299 ++++++++++++++++++
drivers/infiniband/core/uverbs_std_types_qp.c | 65 +++-
drivers/infiniband/core/uverbs_uapi.c | 1 +
drivers/infiniband/core/verbs.c | 1 +
drivers/infiniband/hw/efa/efa.h | 13 +
.../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 | 6 +
drivers/infiniband/hw/efa/efa_verbs.c | 171 ++++++++++
include/rdma/ib_verbs.h | 41 +++
include/rdma/restrack.h | 4 +
include/uapi/rdma/efa-abi.h | 1 +
include/uapi/rdma/ib_user_ioctl_cmds.h | 50 +++
include/uapi/rdma/ib_user_ioctl_verbs.h | 14 +
include/uapi/rdma/ib_user_verbs.h | 2 +-
23 files changed, 1063 insertions(+), 7 deletions(-)
create mode 100644 drivers/infiniband/core/uverbs_std_types_comp_cntr.c
--
2.47.3
next reply other threads:[~2026-04-16 21:23 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-16 21:23 Michael Margolin [this message]
2026-04-16 21:23 ` [PATCH for-next v2 1/5] RDMA/core: Add Completion Counters support Michael Margolin
2026-04-30 0:50 ` Doug Ledford
2026-04-30 1:49 ` Jason Gunthorpe
2026-04-30 15:38 ` Doug Ledford
2026-04-30 12:18 ` Michael Margolin
2026-04-30 19:09 ` Doug Ledford
2026-04-30 22:33 ` Sean Hefty
2026-05-04 12:51 ` Michael Margolin
2026-05-04 15:37 ` Sean Hefty
2026-04-16 21:23 ` [PATCH for-next v2 2/5] RDMA/core: Prevent destroying in-use completion counters Michael Margolin
2026-04-16 21:23 ` [PATCH for-next v2 3/5] RDMA/core: Add Completion Counters to resource tracking Michael Margolin
2026-04-16 21:23 ` [PATCH for-next v2 4/5] RDMA/efa: Update device interface Michael Margolin
2026-04-28 22:36 ` [PATCH for-next v2 0/5] Introduce Completion Counters Doug Ledford
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260416212327.18191-1-mrgolin@amazon.com \
--to=mrgolin@amazon.com \
--cc=gal.pressman@linux.dev \
--cc=jgg@nvidia.com \
--cc=leon@kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=matua@amazon.com \
--cc=sleybo@amazon.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.