diff options
author | Greg Banks <gnb@melbourne.sgi.com> | 2006-10-02 05:17:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-02 10:57:19 -0400 |
commit | 1a68d952af5f43032012d26dd0d5164c9e9986bc (patch) | |
tree | 6c660f3ee27205a4c4f18883b2205f873cf396be /include | |
parent | c45c357d7dbc9e94338f44349e0035149da86b26 (diff) |
[PATCH] knfsd: use new lock for svc_sock deferred list
Protect the svc_sock->sk_deferred list with a new lock svc_sock->sk_defer_lock
instead of svc_serv->sv_lock. Using the more fine-grained lock reduces the
number of places we need to take the svc_serv lock.
Signed-off-by: Greg Banks <gnb@melbourne.sgi.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/sunrpc/svcsock.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/sunrpc/svcsock.h b/include/linux/sunrpc/svcsock.h index 17cb834a748c..7766a1001660 100644 --- a/include/linux/sunrpc/svcsock.h +++ b/include/linux/sunrpc/svcsock.h | |||
@@ -36,6 +36,7 @@ struct svc_sock { | |||
36 | 36 | ||
37 | int sk_reserved; /* space on outq that is reserved */ | 37 | int sk_reserved; /* space on outq that is reserved */ |
38 | 38 | ||
39 | spinlock_t sk_defer_lock; /* protects sk_deferred */ | ||
39 | struct list_head sk_deferred; /* deferred requests that need to | 40 | struct list_head sk_deferred; /* deferred requests that need to |
40 | * be revisted */ | 41 | * be revisted */ |
41 | struct mutex sk_mutex; /* to serialize sending data */ | 42 | struct mutex sk_mutex; /* to serialize sending data */ |