Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 23883
b: refs/heads/master
c: ef759a2
h: refs/heads/master
i:
  23881: b19178f
  23879: ce7218c
v: v3
  • Loading branch information
Chuck Lever authored and Trond Myklebust committed Mar 20, 2006
1 parent 73de2d5 commit ba30acc
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 262ca07de4d7f1bff20361c1353bb14b3607afb2
refs/heads/master: ef759a2e54ed434b2f72b52a14edecd6d4eadf74
6 changes: 6 additions & 0 deletions trunk/include/linux/sunrpc/sched.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@ struct rpc_task {
struct work_struct tk_work; /* Async task work queue */
struct rpc_wait tk_wait; /* RPC wait */
} u;

unsigned short tk_timeouts; /* maj timeouts */
size_t tk_bytes_sent; /* total bytes sent */
unsigned long tk_start; /* RPC task init timestamp */
long tk_rtt; /* round-trip time (jiffies) */

#ifdef RPC_DEBUG
unsigned short tk_pid; /* debugging aid */
#endif
Expand Down
2 changes: 2 additions & 0 deletions trunk/net/sunrpc/clnt.c
Original file line number Diff line number Diff line change
Expand Up @@ -996,6 +996,8 @@ call_timeout(struct rpc_task *task)
}

dprintk("RPC: %4d call_timeout (major)\n", task->tk_pid);
task->tk_timeouts++;

if (RPC_IS_SOFT(task)) {
printk(KERN_NOTICE "%s: server %s not responding, timed out\n",
clnt->cl_protname, clnt->cl_server);
Expand Down
3 changes: 3 additions & 0 deletions trunk/net/sunrpc/sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -817,6 +817,9 @@ void rpc_init_task(struct rpc_task *task, struct rpc_clnt *clnt, int flags, cons

BUG_ON(task->tk_ops == NULL);

/* starting timestamp */
task->tk_start = jiffies;

dprintk("RPC: %4d new task procpid %d\n", task->tk_pid,
current->pid);
}
Expand Down
2 changes: 2 additions & 0 deletions trunk/net/sunrpc/xprt.c
Original file line number Diff line number Diff line change
Expand Up @@ -648,6 +648,8 @@ void xprt_complete_rqst(struct rpc_task *task, int copied)
task->tk_pid, ntohl(req->rq_xid), copied);

task->tk_xprt->stat.recvs++;
task->tk_rtt = (long)jiffies - req->rq_xtime;

list_del_init(&req->rq_list);
req->rq_received = req->rq_private_buf.len = copied;
rpc_wake_up_task(task);
Expand Down
1 change: 1 addition & 0 deletions trunk/net/sunrpc/xprtsock.c
Original file line number Diff line number Diff line change
Expand Up @@ -382,6 +382,7 @@ static int xs_tcp_send_request(struct rpc_task *task)
/* If we've sent the entire packet, immediately
* reset the count of bytes sent. */
req->rq_bytes_sent += status;
task->tk_bytes_sent += status;
if (likely(req->rq_bytes_sent >= req->rq_slen)) {
req->rq_bytes_sent = 0;
return 0;
Expand Down

0 comments on commit ba30acc

Please sign in to comment.