On Sat, May 22, 2021 at 4:19 AM Bob Pearson <rpearsonhpe@xxxxxxxxx> wrote: > > This series of patches implement memory windows for the rdma_rxe > driver. This is a shorter reimplementation of an earlier patch set. > They apply to and depend on the current for-next linux rdma tree. > > Signed-off-by: Bob Pearson <rpearsonhpe@xxxxxxxxx> > --- > v7: > Fixed a duplicate INIT_RDMA_OBJ_SIZE(ib_mw, ...) in rxe_verbs.c. With this patch series, there are about 17 errors and 1 failure in rdma-core. " ---------------------------------------------------------------------- Ran 183 tests in 2.130s FAILED (failures=1, errors=17, skipped=124) " After these patches, not sure if rxe can communicate with the physical NICs correctly because of the above errors and failure. Zhu Yanjun > v6: > Added rxe_ prefix to subroutine names in lines that changed > from Zhu's review of v5. > v5: > Fixed a typo in 10th patch. > v4: > Added a 10th patch to check when MRs have bound MWs > and disallow dereg and invalidate operations. > v3: > cleaned up void return and lower case enums from > Zhu's review. > v2: > cleaned up an issue in rdma_user_rxe.h > cleaned up a collision in rxe_resp.c > > Bob Pearson (9): > RDMA/rxe: Add bind MW fields to rxe_send_wr > RDMA/rxe: Return errors for add index and key > RDMA/rxe: Enable MW object pool > RDMA/rxe: Add ib_alloc_mw and ib_dealloc_mw verbs > RDMA/rxe: Replace WR_REG_MASK by WR_LOCAL_OP_MASK > RDMA/rxe: Move local ops to subroutine > RDMA/rxe: Add support for bind MW work requests > RDMA/rxe: Implement invalidate MW operations > RDMA/rxe: Implement memory access through MWs > > drivers/infiniband/sw/rxe/Makefile | 1 + > drivers/infiniband/sw/rxe/rxe.c | 1 + > drivers/infiniband/sw/rxe/rxe_comp.c | 1 + > drivers/infiniband/sw/rxe/rxe_loc.h | 29 +- > drivers/infiniband/sw/rxe/rxe_mr.c | 79 ++++-- > drivers/infiniband/sw/rxe/rxe_mw.c | 356 +++++++++++++++++++++++++ > drivers/infiniband/sw/rxe/rxe_opcode.c | 11 +- > drivers/infiniband/sw/rxe/rxe_opcode.h | 3 +- > drivers/infiniband/sw/rxe/rxe_param.h | 19 +- > drivers/infiniband/sw/rxe/rxe_pool.c | 45 ++-- > drivers/infiniband/sw/rxe/rxe_pool.h | 8 +- > drivers/infiniband/sw/rxe/rxe_req.c | 102 ++++--- > drivers/infiniband/sw/rxe/rxe_resp.c | 110 +++++--- > drivers/infiniband/sw/rxe/rxe_verbs.c | 5 +- > drivers/infiniband/sw/rxe/rxe_verbs.h | 38 ++- > include/uapi/rdma/rdma_user_rxe.h | 34 ++- > 16 files changed, 691 insertions(+), 151 deletions(-) > create mode 100644 drivers/infiniband/sw/rxe/rxe_mw.c > -- > 2.27.0 >