mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 08:02:30 +00:00
xprtrdma: Report when there were zero posted Receives
To show that a caller did attempt to allocate and post more Receive buffers, the trace point in rpcrdma_post_recvs() should report when rpcrdma_post_recvs() was invoked but no new Receive buffers were posted. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
512ccfb61a
commit
61c208a5ca
1 changed files with 5 additions and 2 deletions
|
@ -1521,9 +1521,11 @@ rpcrdma_post_recvs(struct rpcrdma_xprt *r_xprt, bool temp)
|
||||||
struct ib_recv_wr *wr, *bad_wr;
|
struct ib_recv_wr *wr, *bad_wr;
|
||||||
int needed, count, rc;
|
int needed, count, rc;
|
||||||
|
|
||||||
|
rc = 0;
|
||||||
|
count = 0;
|
||||||
needed = buf->rb_credits + (buf->rb_bc_srv_max_requests << 1);
|
needed = buf->rb_credits + (buf->rb_bc_srv_max_requests << 1);
|
||||||
if (buf->rb_posted_receives > needed)
|
if (buf->rb_posted_receives > needed)
|
||||||
return;
|
goto out;
|
||||||
needed -= buf->rb_posted_receives;
|
needed -= buf->rb_posted_receives;
|
||||||
|
|
||||||
count = 0;
|
count = 0;
|
||||||
|
@ -1559,7 +1561,7 @@ rpcrdma_post_recvs(struct rpcrdma_xprt *r_xprt, bool temp)
|
||||||
--needed;
|
--needed;
|
||||||
}
|
}
|
||||||
if (!count)
|
if (!count)
|
||||||
return;
|
goto out;
|
||||||
|
|
||||||
rc = ib_post_recv(r_xprt->rx_ia.ri_id->qp, wr,
|
rc = ib_post_recv(r_xprt->rx_ia.ri_id->qp, wr,
|
||||||
(const struct ib_recv_wr **)&bad_wr);
|
(const struct ib_recv_wr **)&bad_wr);
|
||||||
|
@ -1573,5 +1575,6 @@ rpcrdma_post_recvs(struct rpcrdma_xprt *r_xprt, bool temp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
buf->rb_posted_receives += count;
|
buf->rb_posted_receives += count;
|
||||||
|
out:
|
||||||
trace_xprtrdma_post_recvs(r_xprt, count, rc);
|
trace_xprtrdma_post_recvs(r_xprt, count, rc);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue