svcrdma: Fence LOCAL_INV work requests
Fencing forces the invalidate to only happen after all prior send work requests have been completed. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Reported by : Devesh Sharma <Devesh.Sharma@Emulex.Com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
committed by
J. Bruce Fields
parent
0bf4828983
commit
83710fc753
@@ -338,7 +338,7 @@ static int rdma_read_chunk_frmr(struct svcxprt_rdma *xprt,
|
|||||||
memset(&inv_wr, 0, sizeof(inv_wr));
|
memset(&inv_wr, 0, sizeof(inv_wr));
|
||||||
inv_wr.wr_id = (unsigned long)ctxt;
|
inv_wr.wr_id = (unsigned long)ctxt;
|
||||||
inv_wr.opcode = IB_WR_LOCAL_INV;
|
inv_wr.opcode = IB_WR_LOCAL_INV;
|
||||||
inv_wr.send_flags = IB_SEND_SIGNALED;
|
inv_wr.send_flags = IB_SEND_SIGNALED | IB_SEND_FENCE;
|
||||||
inv_wr.ex.invalidate_rkey = frmr->mr->lkey;
|
inv_wr.ex.invalidate_rkey = frmr->mr->lkey;
|
||||||
}
|
}
|
||||||
ctxt->wr_op = read_wr.opcode;
|
ctxt->wr_op = read_wr.opcode;
|
||||||
|
|||||||
Reference in New Issue
Block a user