From b19178f9b8a627ecef898c29dfb850ea5c684bf5 Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Mon, 20 Mar 2006 13:44:15 -0500 Subject: [PATCH] --- yaml --- r: 23881 b: refs/heads/master c: e19b63dafdf7d615b0d36b90990a07e7792b9d3a h: refs/heads/master i: 23879: ce7218c1652d8ec6dc9f83feb282d4320b472d0c v: v3 --- [refs] | 2 +- trunk/include/linux/sunrpc/sched.h | 1 + trunk/net/sunrpc/sched.c | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 97e1b2c1bd47..07ded622e3dd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 67ec9f46b889bfb1ab0a4e307d53929d5f0692bf +refs/heads/master: e19b63dafdf7d615b0d36b90990a07e7792b9d3a diff --git a/trunk/include/linux/sunrpc/sched.h b/trunk/include/linux/sunrpc/sched.h index a390c9b8a01e..6c23f73a799a 100644 --- a/trunk/include/linux/sunrpc/sched.h +++ b/trunk/include/linux/sunrpc/sched.h @@ -203,6 +203,7 @@ struct rpc_wait_queue { unsigned char priority; /* current priority */ unsigned char count; /* # task groups remaining serviced so far */ unsigned char nr; /* # tasks remaining for cookie */ + unsigned short qlen; /* total # tasks waiting in queue */ #ifdef RPC_DEBUG const char * name; #endif diff --git a/trunk/net/sunrpc/sched.c b/trunk/net/sunrpc/sched.c index 1b74420d1603..aa0449dcd8e5 100644 --- a/trunk/net/sunrpc/sched.c +++ b/trunk/net/sunrpc/sched.c @@ -181,6 +181,7 @@ static void __rpc_add_wait_queue(struct rpc_wait_queue *queue, struct rpc_task * else list_add_tail(&task->u.tk_wait.list, &queue->tasks[0]); task->u.tk_wait.rpc_waitq = queue; + queue->qlen++; rpc_set_queued(task); dprintk("RPC: %4d added to queue %p \"%s\"\n", @@ -215,6 +216,7 @@ static void __rpc_remove_wait_queue(struct rpc_task *task) __rpc_remove_wait_queue_priority(task); else list_del(&task->u.tk_wait.list); + queue->qlen--; dprintk("RPC: %4d removed from queue %p \"%s\"\n", task->tk_pid, queue, rpc_qname(queue)); }