mbox series

[rdma-core,0/5] Elastic RDMA Adapter (ERDMA) userspace provider driver

Message ID 20211224065522.29734-1-chengyou@linux.alibaba.com (mailing list archive)
Headers show
Series Elastic RDMA Adapter (ERDMA) userspace provider driver | expand

Message

Cheng Xu Dec. 24, 2021, 6:55 a.m. UTC
Hello all,

This patch set introduces the Elastic RDMA Adapter (ERDMA) userspace
provider driver of *rdma-core*, and this patch set is used for review
purpose. The kernel driver of ERDMA can refer this link [1].

The main feature of ERDMA userspace provider includes: supports RC QP,
supports RDMA Write/Send/RDMA Read/Immediate opcode in post_send, supports
post_recv, and supports CQs with polling mode and event mode. Now we does
not support SRQ yet.

Thanks,
Cheng Xu

[1] https://lwn.net/Articles/879373/

Cheng Xu (5):
  RDMA-CORE/erdma: Add userspace verbs related header files.
  RDMA-CORE/erdma: Add userspace verbs implementation
  RDMA-CORE/erdma: Add the main module of the provider
  RDMA-CORE/erdma: Add the application interface
  RDMA-CORE/erdma: Add to the build environment

 CMakeLists.txt                            |   1 +
 MAINTAINERS                               |   5 +
 README.md                                 |   1 +
 kernel-headers/CMakeLists.txt             |   2 +
 kernel-headers/rdma/erdma-abi.h           |  49 ++
 kernel-headers/rdma/ib_user_ioctl_verbs.h |   1 +
 libibverbs/verbs.h                        |   1 +
 providers/erdma/CMakeLists.txt            |   5 +
 providers/erdma/erdma.c                   | 133 +++
 providers/erdma/erdma.h                   |  60 ++
 providers/erdma/erdma_abi.h               |  21 +
 providers/erdma/erdma_db.c                | 110 +++
 providers/erdma/erdma_db.h                |  17 +
 providers/erdma/erdma_hw.h                | 206 +++++
 providers/erdma/erdma_verbs.c             | 934 ++++++++++++++++++++++
 providers/erdma/erdma_verbs.h             | 134 ++++
 redhat/rdma-core.spec                     |   2 +
 17 files changed, 1682 insertions(+)
 create mode 100644 kernel-headers/rdma/erdma-abi.h
 create mode 100644 providers/erdma/CMakeLists.txt
 create mode 100644 providers/erdma/erdma.c
 create mode 100644 providers/erdma/erdma.h
 create mode 100644 providers/erdma/erdma_abi.h
 create mode 100644 providers/erdma/erdma_db.c
 create mode 100644 providers/erdma/erdma_db.h
 create mode 100644 providers/erdma/erdma_hw.h
 create mode 100644 providers/erdma/erdma_verbs.c
 create mode 100644 providers/erdma/erdma_verbs.h