Re: [PATCH rdma-next 00/11] Elastic RDMA Adapter (ERDMA) driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Dec 21, 2021 at 10:48:47AM +0800, Cheng Xu wrote:
> Hello all,
> 
> This patch set introduces the Elastic RDMA Adapter (ERDMA) driver, which
> released in Apsara Conference 2021 by Alibaba.
> 
> ERDMA enables large-scale RDMA acceleration capability in Alibaba ECS
> environment, initially offered in g7re instance. It can improve the
> efficiency of large-scale distributed computing and communication
> significantly and expand dynamically with the cluster scale of Alibaba
> Cloud.
> 
> ERDMA is a RDMA networking adapter based on the Alibaba MOC hardware. It
> works in the VPC network environment (overlay network), and uses iWarp
> tranport protocol. ERDMA supports reliable connection (RC). ERDMA also
> supports both kernel space and user space verbs. Now we have already
> supported HPC/AI applications with libfabric, NoF and some other internal
> verbs libraries, such as xrdma, epsl, etc,.

We will need to get erdma provider implementation in the rdma-core too,
in order to consider to merge it.

> 
> For the ECS instance with RDMA enabled, there are two kinds of devices
> allocated, one for ERDMA, and one for the original netdev (virtio-net).
> They are different PCI deivces. ERDMA driver can get the information about
> which netdev attached to in its PCIe barspace (by MAC address matching).

This is very questionable. The netdev part should be kept in the
drivers/ethernet/... part of the kernel.

Thanks

> 
> Thanks,
> Cheng Xu
> 
> Cheng Xu (11):
>   RDMA: Add ERDMA to rdma_driver_id definition
>   RDMA/erdma: Add the hardware related definitions
>   RDMA/erdma: Add main include file
>   RDMA/erdma: Add cmdq implementation
>   RDMA/erdma: Add event queue implementation
>   RDMA/erdma: Add verbs header file
>   RDMA/erdma: Add verbs implementation
>   RDMA/erdma: Add connection management (CM) support
>   RDMA/erdma: Add the erdma module
>   RDMA/erdma: Add the ABI definitions
>   RDMA/erdma: Add driver to kernel build environment
> 
>  MAINTAINERS                               |    8 +
>  drivers/infiniband/Kconfig                |    1 +
>  drivers/infiniband/hw/Makefile            |    1 +
>  drivers/infiniband/hw/erdma/Kconfig       |   10 +
>  drivers/infiniband/hw/erdma/Makefile      |    5 +
>  drivers/infiniband/hw/erdma/erdma.h       |  381 +++++
>  drivers/infiniband/hw/erdma/erdma_cm.c    | 1585 +++++++++++++++++++++
>  drivers/infiniband/hw/erdma/erdma_cm.h    |  158 ++
>  drivers/infiniband/hw/erdma/erdma_cmdq.c  |  489 +++++++
>  drivers/infiniband/hw/erdma/erdma_cq.c    |  201 +++
>  drivers/infiniband/hw/erdma/erdma_debug.c |  314 ++++
>  drivers/infiniband/hw/erdma/erdma_debug.h |   18 +
>  drivers/infiniband/hw/erdma/erdma_eq.c    |  346 +++++
>  drivers/infiniband/hw/erdma/erdma_hw.h    |  474 ++++++
>  drivers/infiniband/hw/erdma/erdma_main.c  |  711 +++++++++
>  drivers/infiniband/hw/erdma/erdma_qp.c    |  624 ++++++++
>  drivers/infiniband/hw/erdma/erdma_verbs.c | 1477 +++++++++++++++++++
>  drivers/infiniband/hw/erdma/erdma_verbs.h |  366 +++++
>  include/uapi/rdma/erdma-abi.h             |   49 +
>  include/uapi/rdma/ib_user_ioctl_verbs.h   |    1 +
>  20 files changed, 7219 insertions(+)
>  create mode 100644 drivers/infiniband/hw/erdma/Kconfig
>  create mode 100644 drivers/infiniband/hw/erdma/Makefile
>  create mode 100644 drivers/infiniband/hw/erdma/erdma.h
>  create mode 100644 drivers/infiniband/hw/erdma/erdma_cm.c
>  create mode 100644 drivers/infiniband/hw/erdma/erdma_cm.h
>  create mode 100644 drivers/infiniband/hw/erdma/erdma_cmdq.c
>  create mode 100644 drivers/infiniband/hw/erdma/erdma_cq.c
>  create mode 100644 drivers/infiniband/hw/erdma/erdma_debug.c
>  create mode 100644 drivers/infiniband/hw/erdma/erdma_debug.h
>  create mode 100644 drivers/infiniband/hw/erdma/erdma_eq.c
>  create mode 100644 drivers/infiniband/hw/erdma/erdma_hw.h
>  create mode 100644 drivers/infiniband/hw/erdma/erdma_main.c
>  create mode 100644 drivers/infiniband/hw/erdma/erdma_qp.c
>  create mode 100644 drivers/infiniband/hw/erdma/erdma_verbs.c
>  create mode 100644 drivers/infiniband/hw/erdma/erdma_verbs.h
>  create mode 100644 include/uapi/rdma/erdma-abi.h
> 
> -- 
> 2.27.0
> 



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux