summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/sw/rxe/rxe_verbs.h
diff options
context:
space:
mode:
authorBob Pearson <rpearsonhpe@gmail.com>2022-03-03 18:07:58 -0600
committerJason Gunthorpe <jgg@nvidia.com>2022-03-15 20:49:56 -0300
commit8a1a0be894da0d06bfbb496cc2dc3057fa83e103 (patch)
tree112aff7f000b12507aa7f66bf522b703a2aca4fd /drivers/infiniband/sw/rxe/rxe_verbs.h
parent63221acb0c63141cc7650f8eefb148337061e6db (diff)
downloadlinux-8a1a0be894da0d06bfbb496cc2dc3057fa83e103.tar.gz
linux-8a1a0be894da0d06bfbb496cc2dc3057fa83e103.tar.bz2
linux-8a1a0be894da0d06bfbb496cc2dc3057fa83e103.zip
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>
Diffstat (limited to 'drivers/infiniband/sw/rxe/rxe_verbs.h')
-rw-r--r--drivers/infiniband/sw/rxe/rxe_verbs.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.h b/drivers/infiniband/sw/rxe/rxe_verbs.h
index 6b15251ff67a..e7eff1ca75e9 100644
--- a/drivers/infiniband/sw/rxe/rxe_verbs.h
+++ b/drivers/infiniband/sw/rxe/rxe_verbs.h
@@ -157,7 +157,6 @@ struct resp_res {
struct sk_buff *skb;
} atomic;
struct {
- struct rxe_mr *mr;
u64 va_org;
u32 rkey;
u32 length;