xprtrdma: Report when there were zero posted Receives
authorChuck Lever <chuck.lever@oracle.com>
Mon, 1 Oct 2018 18:26:35 +0000 (14:26 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Wed, 3 Oct 2018 18:02:01 +0000 (14:02 -0400)
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>
net/sunrpc/xprtrdma/verbs.c

index cfaab5e312778ad7dc23743eeaeefce18fd9cfd7..3ddba94c939f64e223e375fdfc75d54aebe14a0b 100644 (file)
@@ -1521,9 +1521,11 @@ rpcrdma_post_recvs(struct rpcrdma_xprt *r_xprt, bool temp)
        struct ib_recv_wr *wr, *bad_wr;
        int needed, count, rc;
 
+       rc = 0;
+       count = 0;
        needed = buf->rb_credits + (buf->rb_bc_srv_max_requests << 1);
        if (buf->rb_posted_receives > needed)
-               return;
+               goto out;
        needed -= buf->rb_posted_receives;
 
        count = 0;
@@ -1559,7 +1561,7 @@ rpcrdma_post_recvs(struct rpcrdma_xprt *r_xprt, bool temp)
                --needed;
        }
        if (!count)
-               return;
+               goto out;
 
        rc = ib_post_recv(r_xprt->rx_ia.ri_id->qp, 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;
+out:
        trace_xprtrdma_post_recvs(r_xprt, count, rc);
 }