sunrpc: have svc_wake_up only deal with pool 0
authorJeff Layton <jlayton@primarydata.com>
Wed, 19 Nov 2014 12:51:21 +0000 (07:51 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 9 Dec 2014 16:22:21 +0000 (11:22 -0500)
commitceff739c53a1734d820d013d7d98f932994674d2
tree5e7989100d2fdf4e9793f8c0f151c49100dbecbf
parent4d5db3f536ae3886ac86877742e6f8ce69a5de06
sunrpc: have svc_wake_up only deal with pool 0

The way that svc_wake_up works is a bit inefficient. It walks all of the
available pools for a service and either wakes up a task in each one or
sets the SP_TASK_PENDING flag in each one.

When svc_wake_up is called, there is no need to wake up more than one
thread to do this work. In practice, only lockd currently uses this
function and it's single threaded anyway. Thus, this just boils down to
doing a wake up of a thread in pool 0 or setting a single flag.

Eliminate the for loop in this function and change it to just operate on
pool 0. Also update the comments that sit above it and get rid of some
code that has been commented out for years now.

Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/svc_xprt.c