summaryrefslogtreecommitdiffstats
path: root/fs/fuse
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2013-04-17 21:50:58 +0200
committerMiklos Szeredi <mszeredi@suse.cz>2013-04-17 21:50:58 +0200
commit3c18ef8117f0515b1e455713dfc2e18b06db9bb5 (patch)
treece54622dc8424780f26b9b4649ce4eba8ffa6845 /fs/fuse
parentfuse: implement exclusive wakeup for blocked_waitq (diff)
downloadlinux-3c18ef8117f0515b1e455713dfc2e18b06db9bb5.tar.xz
linux-3c18ef8117f0515b1e455713dfc2e18b06db9bb5.zip
fuse: optimize wake_up
Normally blocked_waitq will be inactive, so optimize this case. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs/fuse')
-rw-r--r--fs/fuse/dev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 367310588962..be5c7e13320c 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -379,7 +379,7 @@ __releases(fc->lock)
fc->blocked = 0;
/* Wake up next waiter, if any */
- if (!fc->blocked)
+ if (!fc->blocked && waitqueue_active(&fc->blocked_waitq))
wake_up(&fc->blocked_waitq);
if (fc->num_background == fc->congestion_threshold &&