diff options
author | Bob Pearson <rpearsonhpe@gmail.com> | 2020-12-10 11:42:59 -0600 |
---|---|---|
committer | Jason Gunthorpe <jgg@nvidia.com> | 2020-12-11 19:57:48 -0400 |
commit | d21a1240f5169a07a230d72e0e6d3773b2a088b4 (patch) | |
tree | 502df1bb60738b4a0198435ac0f6c4fb490c203c /drivers/infiniband/sw/rxe/rxe_verbs.c | |
parent | RDMA/hns: Simplify AEQE process for different types of queue (diff) | |
download | linux-dev-d21a1240f5169a07a230d72e0e6d3773b2a088b4.tar.xz linux-dev-d21a1240f5169a07a230d72e0e6d3773b2a088b4.zip |
RDMA/rxe: Use acquire/release for memory ordering
Change work and completion queues to use smp_load_acquire() and
smp_store_release() to synchronize between driver and users. This commit
goes with a matching series of commits in the rxe user space provider.
Link: https://lore.kernel.org/r/20201210174258.5234-1-rpearson@hpe.com
Signed-off-by: Bob Pearson <rpearson@hpe.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'drivers/infiniband/sw/rxe/rxe_verbs.c')
-rw-r--r-- | drivers/infiniband/sw/rxe/rxe_verbs.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/sw/rxe/rxe_verbs.c index 2fbea2b2d72a..a031514e2f41 100644 --- a/drivers/infiniband/sw/rxe/rxe_verbs.c +++ b/drivers/infiniband/sw/rxe/rxe_verbs.c @@ -244,11 +244,6 @@ static int post_one_recv(struct rxe_rq *rq, const struct ib_recv_wr *ibwr) recv_wqe->dma.cur_sge = 0; recv_wqe->dma.sge_offset = 0; - /* make sure all changes to the work queue are written before we - * update the producer pointer - */ - smp_wmb(); - advance_producer(rq->queue); return 0; @@ -633,12 +628,6 @@ static int post_one_send(struct rxe_qp *qp, const struct ib_send_wr *ibwr, if (unlikely(err)) goto err1; - /* - * make sure all changes to the work queue are - * written before we update the producer pointer - */ - smp_wmb(); - advance_producer(sq->queue); spin_unlock_irqrestore(&qp->sq.sq_lock, flags); |