RDMA/rxe: Replace mr by rkey in responder resources
authorBob Pearson <rpearsonhpe@gmail.com>
Fri, 4 Mar 2022 00:07:58 +0000 (18:07 -0600)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 15 Mar 2022 23:49:56 +0000 (20:49 -0300)
commit8a1a0be894da0d06bfbb496cc2dc3057fa83e103
tree112aff7f000b12507aa7f66bf522b703a2aca4fd
parent63221acb0c63141cc7650f8eefb148337061e6db
RDMA/rxe: Replace mr by rkey in responder resources

Currently rxe saves a copy of MR in responder resources for RDMA reads.
Since the responder resources are never freed just over written if more
are needed this MR may not have a reference freed until the QP is
destroyed. This patch uses the rkey instead of the MR and on subsequent
packets of a multipacket read reply message it looks up the MR from the
rkey for each packet. This makes it possible for a user to deregister an
MR or unbind a MW on the fly and get correct behaviour.

Link: https://lore.kernel.org/r/20220304000808.225811-3-rpearsonhpe@gmail.com
Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/sw/rxe/rxe_qp.c
drivers/infiniband/sw/rxe/rxe_resp.c
drivers/infiniband/sw/rxe/rxe_verbs.h