mbox series

[for-next,v6,00/12] rdma_rxe: API extensions

Message ID 20200921200356.8627-1-rpearson@hpe.com (mailing list archive)
Headers show
Series rdma_rxe: API extensions | expand

Message

Bob Pearson Sept. 21, 2020, 8:03 p.m. UTC
V6:
   Fixed two issues raised by Jason and Zhu.

   Undid the replacement of rwlocks by spinlocks in patch 10/12. On further
   reading it turns out rwlocks were the better choice.

   Missing prototype for rxe_invalidate_mr. This was caused by a regression in
   patch 05/12 which had dropped the actual use of the routine as well as the
   prototype. Fixed.

V5:
   This patch series is a collection of API extensions for the rdma_rxe driver.
   With this patch set installed there are no errors in pyverbs run-tests and
   31 tests are skipped down from 56. The remaining skipped test cases include
	   - XRC tests
	   - ODP tests
	   - Parent device tests
	   - Import tests
	   - Device memory
	   - MLX5 specific tests
	   - EFA tests

   It continues from the previous (v4) set which implemented memory windows and
   has had a number of individual patches picked up in for-next.

   This set (v5) includes:
	   Ported to current head of tree
	   Memory windows patches not yet picked up
	   kernel support for the extended user space APIs:
	     - ibv_query_device_ex
	     - ibv_create_cq_ex
	     - ibv_create_qp_ex
	   Fixes for multicast which is not currently working

   This patch set depends on a matching rdma-core user space library patch set.

   In order to run correctly it is necessary to configure by hand the EUI64 link
   local IPV6 address on systems which use a random link local address (like
   Ubuntu).

Bob Pearson (12):
  rdma_rxe: Separat MEM into MR and MW objects.
  rdma_rxe: Enable MW objects
  rdma_rxe: Let pools support both keys and indices
  rdma_rxe: Add alloc_mw and dealloc_mw verbs
  rdma_rxe: Add bind_mw and invalidate_mw verbs
  Add memory access through MWs
  rdma_rxe: Add support for ibv_query_device_ex
  rdma_rxe: Add support for extended CQ operations
  rdma_rxe: Add support for extended QP operations
  rdma_rxe: Fix pool related bugs
  rdma_rxe: Fix mcast group allocation bug
  rdma_rxe: Fix bugs in the multicast receive path

 drivers/infiniband/sw/rxe/Makefile     |   1 +
 drivers/infiniband/sw/rxe/rxe.c        | 100 ++++--
 drivers/infiniband/sw/rxe/rxe_comp.c   |  12 +-
 drivers/infiniband/sw/rxe/rxe_cq.c     |  12 +-
 drivers/infiniband/sw/rxe/rxe_loc.h    |  45 ++-
 drivers/infiniband/sw/rxe/rxe_mcast.c  | 110 ++++---
 drivers/infiniband/sw/rxe/rxe_mr.c     | 354 +++++++++++----------
 drivers/infiniband/sw/rxe/rxe_mw.c     | 416 +++++++++++++++++++++++++
 drivers/infiniband/sw/rxe/rxe_opcode.c |  11 +-
 drivers/infiniband/sw/rxe/rxe_opcode.h |   1 -
 drivers/infiniband/sw/rxe/rxe_param.h  |  10 +-
 drivers/infiniband/sw/rxe/rxe_pool.c   | 320 ++++++++++++-------
 drivers/infiniband/sw/rxe/rxe_pool.h   | 107 +++++--
 drivers/infiniband/sw/rxe/rxe_recv.c   |  64 ++--
 drivers/infiniband/sw/rxe/rxe_req.c    | 145 ++++++---
 drivers/infiniband/sw/rxe/rxe_resp.c   | 188 ++++++++---
 drivers/infiniband/sw/rxe/rxe_verbs.c  | 101 +++---
 drivers/infiniband/sw/rxe/rxe_verbs.h  |  64 ++--
 include/uapi/rdma/rdma_user_rxe.h      |  68 +++-
 19 files changed, 1532 insertions(+), 597 deletions(-)
 create mode 100644 drivers/infiniband/sw/rxe/rxe_mw.c