diff options
author | Steven Rostedt <rostedt@goodmis.org> | 2005-08-17 14:25:23 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-17 15:53:05 -0400 |
commit | c4f92dba97f4e3aa757500896f87001569f4604b (patch) | |
tree | 3af7efe2b1ae357ee151c1795dc60cfe801e8718 /fs/nfsd | |
parent | dd12f48d4e8774415b528d3991ae47c28f26e1ac (diff) |
[PATCH] nfsd to unlock kernel before exiting
The nfsd holds the big kernel lock upon exit, when it really shouldn't.
Not to mention that this breaks Ingo's RT patch. This is a trivial fix
to release the lock.
Ingo, this patch also works with your kernel, and stops the problem with
nfsd.
Note, there's a "goto out;" where "out:" is right above svc_exit_thread.
The point of the goto also holds the kernel_lock, so I don't see any
problem here in releasing it.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/nfssvc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c index 07b9a065e9da..1697539a7171 100644 --- a/fs/nfsd/nfssvc.c +++ b/fs/nfsd/nfssvc.c | |||
@@ -287,6 +287,7 @@ out: | |||
287 | svc_exit_thread(rqstp); | 287 | svc_exit_thread(rqstp); |
288 | 288 | ||
289 | /* Release module */ | 289 | /* Release module */ |
290 | unlock_kernel(); | ||
290 | module_put_and_exit(0); | 291 | module_put_and_exit(0); |
291 | } | 292 | } |
292 | 293 | ||