|
@@ -889,7 +889,13 @@ __must_hold(&req->rq_xprt->recv_lock)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void xprt_update_rtt(struct rpc_task *task)
|
|
|
+/**
|
|
|
+ * xprt_update_rtt - Update RPC RTT statistics
|
|
|
+ * @task: RPC request that recently completed
|
|
|
+ *
|
|
|
+ * Caller holds xprt->recv_lock.
|
|
|
+ */
|
|
|
+void xprt_update_rtt(struct rpc_task *task)
|
|
|
{
|
|
|
struct rpc_rqst *req = task->tk_rqstp;
|
|
|
struct rpc_rtt *rtt = task->tk_client->cl_rtt;
|
|
@@ -902,6 +908,7 @@ static void xprt_update_rtt(struct rpc_task *task)
|
|
|
rpc_set_timeo(rtt, timer, req->rq_ntrans - 1);
|
|
|
}
|
|
|
}
|
|
|
+EXPORT_SYMBOL_GPL(xprt_update_rtt);
|
|
|
|
|
|
/**
|
|
|
* xprt_complete_rqst - called when reply processing is complete
|
|
@@ -921,8 +928,6 @@ void xprt_complete_rqst(struct rpc_task *task, int copied)
|
|
|
|
|
|
xprt->stat.recvs++;
|
|
|
req->rq_rtt = ktime_sub(ktime_get(), req->rq_xtime);
|
|
|
- if (xprt->ops->timer != NULL)
|
|
|
- xprt_update_rtt(task);
|
|
|
|
|
|
list_del_init(&req->rq_list);
|
|
|
req->rq_private_buf.len = copied;
|