diff options
Diffstat (limited to 'net/sunrpc/xprt.c')
-rw-r--r-- | net/sunrpc/xprt.c | 7 |
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)) |