diff options
author | Bob Pearson <rpearsonhpe@gmail.com> | 2022-06-06 17:38:37 +0300 |
---|---|---|
committer | Jason Gunthorpe <jgg@nvidia.com> | 2022-06-30 20:00:21 +0300 |
commit | dc1848388137d20e5786b976caa49a26889f36f3 (patch) | |
tree | d319b72072ea3323e784c1beec215291dcb62a08 /drivers/infiniband/sw/rxe/rxe_qp.c | |
parent | 8264411595fabf0455ed45badf1be612493db681 (diff) | |
download | linux-dc1848388137d20e5786b976caa49a26889f36f3.tar.xz |
RDMA/rxe: Merge normal and retry atomic flows
Make the execution of the atomic operation in rxe_atomic_reply()
conditional on res->replay and make duplicate_request() call into
rxe_atomic_reply() to merge the two flows. This is modeled on the behavior
of read reply. Delete the skb from the atomic responder resource since it
is no longer used. Adjust the reference counting of the qp in
send_atomic_ack() for this flow.
Fixes: 8700e3e7c485 ("Soft RoCE driver")
Link: https://lore.kernel.org/r/20220606143836.3323-6-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_qp.c')
-rw-r--r-- | drivers/infiniband/sw/rxe/rxe_qp.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/infiniband/sw/rxe/rxe_qp.c b/drivers/infiniband/sw/rxe/rxe_qp.c index 22e9b85344c3..8355a5b1cb60 100644 --- a/drivers/infiniband/sw/rxe/rxe_qp.c +++ b/drivers/infiniband/sw/rxe/rxe_qp.c @@ -129,8 +129,6 @@ static void free_rd_atomic_resources(struct rxe_qp *qp) void free_rd_atomic_resource(struct rxe_qp *qp, struct resp_res *res) { - if (res->type == RXE_ATOMIC_MASK) - kfree_skb(res->atomic.skb); res->type = 0; } |