Message ID | 20220929170836.17838-1-rpearsonhpe@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Implement the xrc transport | expand |
On Thu, Sep 29, 2022 at 12:08:24PM -0500, Bob Pearson wrote: > This patch series implements the xrc transport for the rdma_rxe driver. > It is based on the current for-next branch of rdma-linux. > The first two patches in the series do some cleanup which is helpful > for this effort. The remaining patches implement the xrc functionality. > There is a matching patch set for the user space rxe provider driver. > The communications between these is accomplished without making an > ABI change by taking advantage of the space freed up by a recent > patch called "Remove redundant num_sge fields" which is a reprequisite > for this patch series. > > The two patch sets have been tested with the pyverbs regression test > suite with and without each set installed. This series enables 5 of > the 6 xrc test cases in pyverbs. The ODP case does is currently skipped > but should work once the ODP patch series is accepted. > > Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com> > --- > v2 > Rebased to current for-next > > Bob Pearson (13): > RDMA/rxe: Replace START->FIRST, END->LAST > RDMA/rxe: Move next_opcode() to rxe_opcode.c > RDMA: Add xrc opcodes to ib_pack.h > RDMA/rxe: Extend opcodes and headers to support xrc > RDMA/rxe: Add xrc opcodes to next_opcode() > RDMA/rxe: Implement open_xrcd and close_xrcd > RDMA/rxe: Extend srq verbs to support xrcd > RDMA/rxe: Extend rxe_qp.c to support xrc qps > RDMA/rxe: Extend rxe_recv.c to support xrc > RDMA/rxe: Extend rxe_comp.c to support xrc qps > RDMA/rxe: Extend rxe_req.c to support xrc qps > RDMA/rxe: Extend rxe_net.c to support xrc qps > RDMA/rxe: Extend rxe_resp.c to support xrc qps This doesn't apply anymore, so it needs a rebase. But nothing caught my eye in it. If nobody has anything to say I will apply the rebased v3 next week. Thanks, Jason
This patch series implements the xrc transport for the rdma_rxe driver. It is based on the current for-next branch of rdma-linux. The first two patches in the series do some cleanup which is helpful for this effort. The remaining patches implement the xrc functionality. There is a matching patch set for the user space rxe provider driver. The communications between these is accomplished without making an ABI change by taking advantage of the space freed up by a recent patch called "Remove redundant num_sge fields" which is a reprequisite for this patch series. The two patch sets have been tested with the pyverbs regression test suite with and without each set installed. This series enables 5 of the 6 xrc test cases in pyverbs. The ODP case does is currently skipped but should work once the ODP patch series is accepted. Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com> --- v2 Rebased to current for-next Bob Pearson (13): RDMA/rxe: Replace START->FIRST, END->LAST RDMA/rxe: Move next_opcode() to rxe_opcode.c RDMA: Add xrc opcodes to ib_pack.h RDMA/rxe: Extend opcodes and headers to support xrc RDMA/rxe: Add xrc opcodes to next_opcode() RDMA/rxe: Implement open_xrcd and close_xrcd RDMA/rxe: Extend srq verbs to support xrcd RDMA/rxe: Extend rxe_qp.c to support xrc qps RDMA/rxe: Extend rxe_recv.c to support xrc RDMA/rxe: Extend rxe_comp.c to support xrc qps RDMA/rxe: Extend rxe_req.c to support xrc qps RDMA/rxe: Extend rxe_net.c to support xrc qps RDMA/rxe: Extend rxe_resp.c to support xrc qps drivers/infiniband/sw/rxe/rxe.c | 2 + drivers/infiniband/sw/rxe/rxe_av.c | 3 +- drivers/infiniband/sw/rxe/rxe_comp.c | 51 +- drivers/infiniband/sw/rxe/rxe_hdr.h | 41 +- drivers/infiniband/sw/rxe/rxe_loc.h | 13 +- drivers/infiniband/sw/rxe/rxe_mw.c | 14 +- drivers/infiniband/sw/rxe/rxe_net.c | 23 +- drivers/infiniband/sw/rxe/rxe_opcode.c | 766 +++++++++++++++++++++---- drivers/infiniband/sw/rxe/rxe_opcode.h | 9 +- drivers/infiniband/sw/rxe/rxe_param.h | 3 + drivers/infiniband/sw/rxe/rxe_pool.c | 8 + drivers/infiniband/sw/rxe/rxe_pool.h | 1 + drivers/infiniband/sw/rxe/rxe_qp.c | 308 ++++++---- drivers/infiniband/sw/rxe/rxe_recv.c | 79 ++- drivers/infiniband/sw/rxe/rxe_req.c | 204 +------ drivers/infiniband/sw/rxe/rxe_resp.c | 168 ++++-- drivers/infiniband/sw/rxe/rxe_srq.c | 131 +++-- drivers/infiniband/sw/rxe/rxe_verbs.c | 57 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 20 +- include/rdma/ib_pack.h | 32 +- include/uapi/rdma/rdma_user_rxe.h | 4 +- 21 files changed, 1341 insertions(+), 596 deletions(-) base-commit: cbdae01d8b517b81ed271981395fee8ebd08ba7d