Commit e67792cc authored by Chuck Lever's avatar Chuck Lever
Browse files

svcrdma: Reserve an extra WQE for ib_drain_rq()



Do as other ULPs already do: ensure there is an extra Receive WQE
reserved for the tear-down drain WR. I haven't heard reports of
problems but it can't hurt.

Note that rq_depth is used to compute the Send Queue depth as well,
so this fix should affect both the SQ and RQ.

Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent c8004c1c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -415,7 +415,7 @@ static struct svc_xprt *svc_rdma_accept(struct svc_xprt *xprt)
	if (newxprt->sc_max_send_sges > dev->attrs.max_send_sge)
		newxprt->sc_max_send_sges = dev->attrs.max_send_sge;
	rq_depth = newxprt->sc_max_requests + newxprt->sc_max_bc_requests +
		   newxprt->sc_recv_batch;
		   newxprt->sc_recv_batch + 1 /* drain */;
	if (rq_depth > dev->attrs.max_qp_wr) {
		rq_depth = dev->attrs.max_qp_wr;
		newxprt->sc_recv_batch = 1;