[PATCH v7 00/12] SIW: Request for Comments

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

 



This patch set contributes version 7 of the SoftiWarp
driver, as originally introduced to the list Oct 6th, 2017.
SoftiWarp (siw) implements the iWarp RDMA protocol over
kernel TCP sockets. The driver integrates with the
linux-rdma framework.

Mainly in response to the various helpful feedback,
I fixed the following issues:

1. The code now relies on proper object management
   provided by the RDMA midlayer. With that, reference
   counting for PD's, CQ's and SRQ's got dropped.
   The corresponding files siw_obj.[ch] are removed.

2. The code now supports multiple user mmap operations
   of the same object (CQ, SQ, RQ, SRQ array) during
   its lifetime. To efficiently maintain the potentially
   large number of objects, those are now kept in a
   user context private cyclic xarray.

3. siw private memory access flags definition got dropped
   in favor of ib_access_flags.

4. Added code to consistently check complete STag
   during memory access - checking the user controlled
   8 bit 'key' field was inconsistent and partially
   missing.

We maintain a snapshot of the current code at
https://github.com/zrlio/softiwarp-for-linux-rdma.git
within branch 'siw-for-rdma-next-v7'.

The matching siw user library is maintained at
https://github.com/zrlio/softiwarp-user-for-linux-rdma.git.
The relevant branch name is 'siw-for-rdma-next-v7'.

As always, I highly appreciate your feedback. Thanks
very much for your time and help!

Bernard.


Bernard Metzler (12):
  iWarp wire packet format
  SIW main include file
  SIW network and RDMA core interface
  SIW connection management
  SIW application interface
  SIW application buffer management
  SIW queue pair methods
  SIW transmit path
  SIW receive path
  SIW completion queue methods
  SIW debugging
  SIW addition to kernel build environment

 MAINTAINERS                              |  579 ++++--
 drivers/infiniband/Kconfig               |    1 +
 drivers/infiniband/sw/Makefile           |    1 +
 drivers/infiniband/sw/siw/Kconfig        |   17 +
 drivers/infiniband/sw/siw/Makefile       |   12 +
 drivers/infiniband/sw/siw/iwarp.h        |  379 ++++
 drivers/infiniband/sw/siw/siw.h          |  733 ++++++++
 drivers/infiniband/sw/siw/siw_cm.c       | 2106 ++++++++++++++++++++++
 drivers/infiniband/sw/siw/siw_cm.h       |  121 ++
 drivers/infiniband/sw/siw/siw_cq.c       |  109 ++
 drivers/infiniband/sw/siw/siw_debug.c    |   91 +
 drivers/infiniband/sw/siw/siw_debug.h    |   40 +
 drivers/infiniband/sw/siw/siw_main.c     |  711 ++++++++
 drivers/infiniband/sw/siw/siw_mem.c      |  464 +++++
 drivers/infiniband/sw/siw/siw_mem.h      |   53 +
 drivers/infiniband/sw/siw/siw_qp.c       | 1354 ++++++++++++++
 drivers/infiniband/sw/siw/siw_qp_rx.c    | 1520 ++++++++++++++++
 drivers/infiniband/sw/siw/siw_qp_tx.c    | 1289 +++++++++++++
 drivers/infiniband/sw/siw/siw_verbs.c    | 1841 +++++++++++++++++++
 drivers/infiniband/sw/siw/siw_verbs.h    |   84 +
 include/uapi/rdma/rdma_user_ioctl_cmds.h |    1 +
 include/uapi/rdma/siw_user.h             |  186 ++
 22 files changed, 11559 insertions(+), 133 deletions(-)
 create mode 100644 drivers/infiniband/sw/siw/Kconfig
 create mode 100644 drivers/infiniband/sw/siw/Makefile
 create mode 100644 drivers/infiniband/sw/siw/iwarp.h
 create mode 100644 drivers/infiniband/sw/siw/siw.h
 create mode 100644 drivers/infiniband/sw/siw/siw_cm.c
 create mode 100644 drivers/infiniband/sw/siw/siw_cm.h
 create mode 100644 drivers/infiniband/sw/siw/siw_cq.c
 create mode 100644 drivers/infiniband/sw/siw/siw_debug.c
 create mode 100644 drivers/infiniband/sw/siw/siw_debug.h
 create mode 100644 drivers/infiniband/sw/siw/siw_main.c
 create mode 100644 drivers/infiniband/sw/siw/siw_mem.c
 create mode 100644 drivers/infiniband/sw/siw/siw_mem.h
 create mode 100644 drivers/infiniband/sw/siw/siw_qp.c
 create mode 100644 drivers/infiniband/sw/siw/siw_qp_rx.c
 create mode 100644 drivers/infiniband/sw/siw/siw_qp_tx.c
 create mode 100644 drivers/infiniband/sw/siw/siw_verbs.c
 create mode 100644 drivers/infiniband/sw/siw/siw_verbs.h
 create mode 100644 include/uapi/rdma/siw_user.h

-- 
2.17.2




[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