diff options
| -rw-r--r-- | include/linux/sunrpc/xprt.h | 1 | ||||
| -rw-r--r-- | net/sunrpc/xprt.c | 13 | ||||
| -rw-r--r-- | net/sunrpc/xprtsock.c | 1 |
3 files changed, 4 insertions, 11 deletions
diff --git a/include/linux/sunrpc/xprt.h b/include/linux/sunrpc/xprt.h index 8263f7aefedf..04fc342d9840 100644 --- a/include/linux/sunrpc/xprt.h +++ b/include/linux/sunrpc/xprt.h | |||
| @@ -293,7 +293,6 @@ void xprt_set_retrans_timeout_rtt(struct rpc_task *task); | |||
| 293 | void xprt_wake_pending_tasks(struct rpc_xprt *xprt, int status); | 293 | void xprt_wake_pending_tasks(struct rpc_xprt *xprt, int status); |
| 294 | void xprt_wait_for_buffer_space(struct rpc_task *task, rpc_action action); | 294 | void xprt_wait_for_buffer_space(struct rpc_task *task, rpc_action action); |
| 295 | void xprt_write_space(struct rpc_xprt *xprt); | 295 | void xprt_write_space(struct rpc_xprt *xprt); |
| 296 | void xprt_update_rtt(struct rpc_task *task); | ||
| 297 | void xprt_adjust_cwnd(struct rpc_task *task, int result); | 296 | void xprt_adjust_cwnd(struct rpc_task *task, int result); |
| 298 | struct rpc_rqst * xprt_lookup_rqst(struct rpc_xprt *xprt, __be32 xid); | 297 | struct rpc_rqst * xprt_lookup_rqst(struct rpc_xprt *xprt, __be32 xid); |
| 299 | void xprt_complete_rqst(struct rpc_task *task, int copied); | 298 | void xprt_complete_rqst(struct rpc_task *task, int copied); |
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index 6c9997ef386a..698c62712294 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c | |||
| @@ -774,12 +774,7 @@ struct rpc_rqst *xprt_lookup_rqst(struct rpc_xprt *xprt, __be32 xid) | |||
| 774 | } | 774 | } |
| 775 | EXPORT_SYMBOL_GPL(xprt_lookup_rqst); | 775 | EXPORT_SYMBOL_GPL(xprt_lookup_rqst); |
| 776 | 776 | ||
| 777 | /** | 777 | static void xprt_update_rtt(struct rpc_task *task) |
| 778 | * xprt_update_rtt - update an RPC client's RTT state after receiving a reply | ||
| 779 | * @task: RPC request that recently completed | ||
| 780 | * | ||
| 781 | */ | ||
| 782 | void xprt_update_rtt(struct rpc_task *task) | ||
| 783 | { | 778 | { |
| 784 | struct rpc_rqst *req = task->tk_rqstp; | 779 | struct rpc_rqst *req = task->tk_rqstp; |
| 785 | struct rpc_rtt *rtt = task->tk_client->cl_rtt; | 780 | struct rpc_rtt *rtt = task->tk_client->cl_rtt; |
| @@ -787,12 +782,10 @@ void xprt_update_rtt(struct rpc_task *task) | |||
| 787 | 782 | ||
| 788 | if (timer) { | 783 | if (timer) { |
| 789 | if (req->rq_ntrans == 1) | 784 | if (req->rq_ntrans == 1) |
| 790 | rpc_update_rtt(rtt, timer, | 785 | rpc_update_rtt(rtt, timer, task->tk_rtt); |
| 791 | (long)jiffies - req->rq_xtime); | ||
| 792 | rpc_set_timeo(rtt, timer, req->rq_ntrans - 1); | 786 | rpc_set_timeo(rtt, timer, req->rq_ntrans - 1); |
| 793 | } | 787 | } |
| 794 | } | 788 | } |
| 795 | EXPORT_SYMBOL_GPL(xprt_update_rtt); | ||
| 796 | 789 | ||
| 797 | /** | 790 | /** |
| 798 | * xprt_complete_rqst - called when reply processing is complete | 791 | * xprt_complete_rqst - called when reply processing is complete |
| @@ -811,6 +804,8 @@ void xprt_complete_rqst(struct rpc_task *task, int copied) | |||
| 811 | 804 | ||
| 812 | xprt->stat.recvs++; | 805 | xprt->stat.recvs++; |
| 813 | task->tk_rtt = (long)jiffies - req->rq_xtime; | 806 | task->tk_rtt = (long)jiffies - req->rq_xtime; |
| 807 | if (xprt->ops->timer != NULL) | ||
| 808 | xprt_update_rtt(task); | ||
| 814 | 809 | ||
| 815 | list_del_init(&req->rq_list); | 810 | list_del_init(&req->rq_list); |
| 816 | req->rq_private_buf.len = copied; | 811 | req->rq_private_buf.len = copied; |
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 790a8f31b0bb..3d1dcdf2aef1 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c | |||
| @@ -844,7 +844,6 @@ static void xs_udp_data_ready(struct sock *sk, int len) | |||
| 844 | dst_confirm(skb_dst(skb)); | 844 | dst_confirm(skb_dst(skb)); |
| 845 | 845 | ||
| 846 | xprt_adjust_cwnd(task, copied); | 846 | xprt_adjust_cwnd(task, copied); |
| 847 | xprt_update_rtt(task); | ||
| 848 | xprt_complete_rqst(task, copied); | 847 | xprt_complete_rqst(task, copied); |
| 849 | 848 | ||
| 850 | out_unlock: | 849 | out_unlock: |
