[PATCH rdma-next 0/5] RDMA/irdma: Add support for ioctl
From: David Hu
Date: Sat Oct 10 2026 - 21:11:29 EST
From: David Hu <xuehaohu@xxxxxxxxxx>
Hello,
This patch series introduces support for uverbs ioctl queue creation
(QP, CQ, and SRQ) in the irdma driver. This series makes progress towards
modernizing irdma. This enables 1-step queue creation from pinned UMEMs
and shared dma-buf heaps (system_cc_shared), providing RDMA support for
Confidential Computing (CoCo) guest environments where memory encryption
otherwise prevents standard host-VA-based queues from operating.
Historically, irdma relied on legacy write() commands for queue setup.
This series modernizes irdma's queue creation path by adopting the ioctl
infrastructure:
1. Plumbs uverbs_attr_bundle into the irdma QP and SRQ creation routines.
2. Registers irdma's UVERBS ioctl namespace definition for QP, CQ, and SRQ.
3. Implements 1-step queue buffer creation for QP, CQ, and SRQ using
UVERBS_ATTR_CREATE_*_BUF_UMEM attributes and ib_umem_get_attr(),
configuring hardware Page Buffer Lists (PBLs) directly from pinned umems.
4. Adds support for driver-specific shadow area UMEM attributes during CQ
creation with CQ resize capability.
5. Preserves backward compatibility with legacy 2-step write() path
registrations when UMEM attributes are not provided.
User space rdma-core PR: https://github.com/linux-rdma/rdma-core/pull/1766
Testing:
Verified with rc_pingpong, srq_pingpong, and dmabuf_pingpong over irdma
devices in Confidential VM environments.
David Hu (5):
RDMA/irdma: Plumb uverbs_attr_bundle for QP, SRQ
RDMA/irdma: Register irdma UVERBS ioctl namespace
RDMA/irdma: Support UMEM attribute for QP creation
RDMA/irdma: Support UMEM attribute for CQ creation
RDMA/irdma: Support UMEM attribute for SRQ creation
drivers/infiniband/hw/irdma/utils.c | 12 +-
drivers/infiniband/hw/irdma/verbs.c | 347 ++++++++++++++++++++++++----
include/uapi/rdma/irdma-abi.h | 5 +
3 files changed, 314 insertions(+), 50 deletions(-)
base-commit: d2c08575500145dc5cb55075cd9b177626531613
--
2.56.0.385.gd3acb90ef8-goog