aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/xprt.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sunrpc/xprt.c')
-rw-r--r--net/sunrpc/xprt.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c
index efe5495ecf65..739df8a11382 100644
--- a/net/sunrpc/xprt.c
+++ b/net/sunrpc/xprt.c
@@ -885,7 +885,7 @@ void xprt_transmit(struct rpc_task *task)
885{ 885{
886 struct rpc_rqst *req = task->tk_rqstp; 886 struct rpc_rqst *req = task->tk_rqstp;
887 struct rpc_xprt *xprt = req->rq_xprt; 887 struct rpc_xprt *xprt = req->rq_xprt;
888 int status; 888 int status, numreqs;
889 889
890 dprintk("RPC: %5u xprt_transmit(%u)\n", task->tk_pid, req->rq_slen); 890 dprintk("RPC: %5u xprt_transmit(%u)\n", task->tk_pid, req->rq_slen);
891 891
@@ -922,9 +922,14 @@ void xprt_transmit(struct rpc_task *task)
922 922
923 xprt->ops->set_retrans_timeout(task); 923 xprt->ops->set_retrans_timeout(task);
924 924
925 numreqs = atomic_read(&xprt->num_reqs);
926 if (numreqs > xprt->stat.max_slots)
927 xprt->stat.max_slots = numreqs;
925 xprt->stat.sends++; 928 xprt->stat.sends++;
926 xprt->stat.req_u += xprt->stat.sends - xprt->stat.recvs; 929 xprt->stat.req_u += xprt->stat.sends - xprt->stat.recvs;
927 xprt->stat.bklog_u += xprt->backlog.qlen; 930 xprt->stat.bklog_u += xprt->backlog.qlen;
931 xprt->stat.sending_u += xprt->sending.qlen;
932 xprt->stat.pending_u += xprt->pending.qlen;
928 933
929 /* Don't race with disconnect */ 934 /* Don't race with disconnect */
930 if (!xprt_connected(xprt)) 935 if (!xprt_connected(xprt))