Memory window support for rdma_rxe
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest17 patches 16 repliesIn review
- v216 patches 2 repliesSuperseded
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/17 | rdma_rxe: Added SPDX headers to rxe source filesdrivers/ drivers/ drivers/ +29 more | +96 | 1 reply | |
| 2/17 | rdma_rxe: Fixed style warningsdrivers/ drivers/ drivers/ +3 more | +15 | 1 reply | |
| 3/17 | ib_user_verbs.h: Added ib_uverbs_wc_opcodeinclude/ | +11 | 1 reply | |
| 4/17 | ib_verbs.h: Added missing IB_WR_BIND_MW opcodeinclude/ | +9 | 1 reply | |
| 5/17 | rdma_rxe: Added bind_mw parameters to rxe_send_wrinclude/ | +8 | 1 reply | |
| 6/17 | rdma_rxe: Added stubs for alloc_mw and dealloc_mw verbsdrivers/ drivers/ drivers/ +1 more | +32 | 1 reply | |
| 7/17 | rdma_rxe: Separated MR and MW objects.drivers/ drivers/ drivers/ +5 more | +189 | 0 replies | |
| 8/17 | rdma_rxe: Added mw objectdrivers/ drivers/ drivers/ +1 more | +21 | 1 reply | |
| 9/17 | rdma_rxe: Extended pools to support both keys and indicesdrivers/ drivers/ | +58 | 0 replies | |
| 10/17 | rdma_rxe: Implemented functional alloc_mw and dealloc_mw APIsdrivers/ drivers/ drivers/ | +58 | 0 replies | |
| 11/17 | rdma_rxe: Address an issue with hardened user copydrivers/ drivers/ | +21 | 6 replies | |
| 12/17 | rdma_rxe: Added bind mw API stubdrivers/ drivers/ drivers/ +4 more | +85 | 0 replies | |
| 13/17 | rdma_rxe: Give MR and MW objects indices and keysdrivers/ drivers/ drivers/ +7 more | +152 | 0 replies | |
| 14/17 | rdma_rxe: Added stub for invalidate mwdrivers/ drivers/ drivers/ +3 more | +117 | 0 replies | |
| 15/17 | rdma_rxe: Added functional bind and invalidate MW opsdrivers/ drivers/ drivers/ +1 more | +312 | 0 replies | |
| 16/17 | rdma_rxe: Implemented read/write/atomic access to MWdrivers/ drivers/ drivers/ +3 more | +150 | 0 replies | |
| 17/17 | rdma_rxe: minor cleanupsdrivers/ drivers/ drivers/ +1 more | +20 | 3 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [PATCH v3 00/17] Memory window support for rdma_rxe
This set of patches implements the memory windows verbs, local and remote send operations. Each of these has been tested at a basic level and regressions tests have been run to see that basic rxe functionality is OK. The rdma-core pyverbs memory windows test cases run correctly.
I would encourage anyone who has test cases for MWs to run them against this code and let me know if anything crops up.
There is a matching patch for rdma-core the user space library that is required to run user space MW applications.
The first two patches clean up checkpatch warnings for the existing rxe source code. They can be used separately if desired.
The third and fourth patches are a prerequisite for the rest of the set but are independant and add some WR and WC opcodes to ib_verbs.h and ib_user_verb.h.
The remaining patches implement the memory windows extensions.
Bob Pearson
Bob Pearson (17):
rdma_rxe: Added SPDX headers to rxe source files
rdma_rxe: Fixed style warnings
ib_user_verbs.h: Added ib_uverbs_wc_opcode ib_verbs.h: Added missing IB_WR_BIND_MW opcode
rdma_rxe: Added bind_mw parameters to rxe_send_wr
rdma_rxe: Added stubs for alloc_mw and dealloc_mw verbs
rdma_rxe: Separated MR and MW objects.
rdma_rxe: Added mw object
rdma_rxe: Extended pools to support both keys and indices
rdma_rxe: Implemented functional alloc_mw and dealloc_mw APIs
rdma_rxe: Address an issue with hardened user copy
rdma_rxe: Added bind mw API stub
rdma_rxe: Give MR and MW objects indices and keys
rdma_rxe: Added stub for invalidate mw
rdma_rxe: Added functional bind and invalidate MW ops
rdma_rxe: Implemented read/write/atomic access to MW
rdma_rxe: minor cleanups
drivers/infiniband/sw/rxe/Makefile | 1 + drivers/infiniband/sw/rxe/rxe.c | 33 +- drivers/infiniband/sw/rxe/rxe.h | 31 +- drivers/infiniband/sw/rxe/rxe_av.c | 31 +- drivers/infiniband/sw/rxe/rxe_comp.c | 39 +- drivers/infiniband/sw/rxe/rxe_cq.c | 31 +- drivers/infiniband/sw/rxe/rxe_hdr.h | 31 +- drivers/infiniband/sw/rxe/rxe_hw_counters.c | 31 +- drivers/infiniband/sw/rxe/rxe_hw_counters.h | 31 +- drivers/infiniband/sw/rxe/rxe_icrc.c | 31 +- drivers/infiniband/sw/rxe/rxe_loc.h | 88 ++-- drivers/infiniband/sw/rxe/rxe_mcast.c | 31 +- drivers/infiniband/sw/rxe/rxe_mmap.c | 31 +- drivers/infiniband/sw/rxe/rxe_mr.c | 385 ++++++++--------- drivers/infiniband/sw/rxe/rxe_mw.c | 431 ++++++++++++++++++++ drivers/infiniband/sw/rxe/rxe_net.c | 33 +- drivers/infiniband/sw/rxe/rxe_net.h | 31 +- drivers/infiniband/sw/rxe/rxe_opcode.c | 42 +- drivers/infiniband/sw/rxe/rxe_opcode.h | 32 +- drivers/infiniband/sw/rxe/rxe_param.h | 42 +- drivers/infiniband/sw/rxe/rxe_pool.c | 165 ++++---- drivers/infiniband/sw/rxe/rxe_pool.h | 69 ++-- drivers/infiniband/sw/rxe/rxe_qp.c | 34 +- drivers/infiniband/sw/rxe/rxe_queue.c | 31 +- drivers/infiniband/sw/rxe/rxe_queue.h | 31 +- drivers/infiniband/sw/rxe/rxe_recv.c | 31 +- drivers/infiniband/sw/rxe/rxe_req.c | 154 +++---- drivers/infiniband/sw/rxe/rxe_resp.c | 196 +++++---- drivers/infiniband/sw/rxe/rxe_srq.c | 31 +- drivers/infiniband/sw/rxe/rxe_sysfs.c | 31 +- drivers/infiniband/sw/rxe/rxe_task.c | 31 +- drivers/infiniband/sw/rxe/rxe_task.h | 33 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 114 +++--- drivers/infiniband/sw/rxe/rxe_verbs.h | 97 ++--- include/rdma/ib_verbs.h | 16 +- include/uapi/rdma/ib_user_verbs.h | 11 + include/uapi/rdma/rdma_user_rxe.h | 50 ++- 37 files changed, 1233 insertions(+), 1328 deletions(-) create mode 100644 drivers/infiniband/sw/rxe/rxe_mw.c
Signature · 1 line
2.25.1