mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 00:21:59 +00:00
xprtrdma: Clarify use of barrier in frwr_wc_localinv_done()
Clean up: The comment and the placement of the memory barrier is confusing. Humans want to read the function statements from head to tail. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
parent
f912af77e2
commit
44438ad9ae
@ -592,14 +592,16 @@ static void frwr_wc_localinv_done(struct ib_cq *cq, struct ib_wc *wc)
|
||||
struct rpcrdma_frwr *frwr =
|
||||
container_of(cqe, struct rpcrdma_frwr, fr_cqe);
|
||||
struct rpcrdma_mr *mr = container_of(frwr, struct rpcrdma_mr, frwr);
|
||||
struct rpcrdma_rep *rep = mr->mr_req->rl_reply;
|
||||
struct rpcrdma_rep *rep;
|
||||
|
||||
/* WARNING: Only wr_cqe and status are reliable at this point */
|
||||
trace_xprtrdma_wc_li_done(wc, &frwr->fr_cid);
|
||||
frwr_mr_done(wc, mr);
|
||||
|
||||
/* Ensure @rep is generated before frwr_mr_done */
|
||||
/* Ensure that @rep is generated before the MR is released */
|
||||
rep = mr->mr_req->rl_reply;
|
||||
smp_rmb();
|
||||
|
||||
frwr_mr_done(wc, mr);
|
||||
rpcrdma_complete_rqst(rep);
|
||||
|
||||
rpcrdma_flush_disconnect(cq->cq_context, wc);
|
||||
|
Loading…
Reference in New Issue
Block a user