|
|
Log in / Subscribe / Register

RDMA/erdma: Add DMA-BUF memory registration

From:  Boshi Yu <boshiyu-AT-linux.alibaba.com>
To:  jgg-AT-ziepe.ca, leon-AT-kernel.org
Subject:  [PATCH for-next v3 0/3] RDMA/erdma: Add DMA-BUF memory registration
Date:  Thu, 18 Jun 2026 12:51:02 +0800
Message-ID:  <20260618045120.51210-1-boshiyu@linux.alibaba.com>
Cc:  linux-rdma-AT-vger.kernel.org, chengyou-AT-linux.alibaba.com, kaishen-AT-linux.alibaba.com
Archive-link:  Article

Hi,

This patch series adds DMA-BUF memory registration support to the erdma
driver:

- #1 renames get/put_mtt_entries to erdma_mem_init/uninit to better reflect
     their purpose of initializing the struct erdma_mem.
- #2 introduces struct erdma_mem_init_attr to pass parameters to
     erdma_mem_init(), improving code maintainability and preparing for
     DMA-BUF support.
- #3 implements erdma_reg_user_mr_dmabuf() to enable DMA-BUF based user
     memory registration using the revocable pinned dmabuf interface.

One known limitation: if the DEREG_MR command fails in the revoke
callback, the driver can only log an error, since erdma does not
support a function-level reset like irdma's request_reset() yet.
We plan to introduce such a mechanism in future work.

Thanks,
Boshi Yu

---

v3:
 - Patch#3: Switch to the revocable pinned dmabuf interface as
   suggested by Jason Gunthorpe.

v2:
 - Patch#2: Add validation for the return value of ib_umem_find_best_pgsz().
  link: https://lore.kernel.org/all/20260518120637.16831-1-boshiy...

v1:
  link: https://lore.kernel.org/all/20260507053437.46211-1-boshiy...

Boshi Yu (3):
  RDMA/erdma: Rename get/put_mtt_entries to erdma_mem_init/uninit
  RDMA/erdma: Introduce struct erdma_mem_init_attr
  RDMA/erdma: Implement erdma_reg_user_mr_dmabuf

 drivers/infiniband/hw/erdma/erdma_main.c  |   1 +
 drivers/infiniband/hw/erdma/erdma_verbs.c | 262 +++++++++++++++-------
 drivers/infiniband/hw/erdma/erdma_verbs.h |  17 ++
 3 files changed, 201 insertions(+), 79 deletions(-)

-- 
2.46.0




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds