Commit 5e0fed71 authored by Kirill Tkhai's avatar Kirill Tkhai Committed by Miklos Szeredi

fuse: Wake up req->waitq of only if not background

Currently, we wait on req->waitq in request_wait_answer() function only,
and it's never used for background requests.  Since wake_up() is not a
light-weight macros, instead of this, it unfolds in really called function,
which makes locking operations taking some cpu cycles, let's avoid its call
for the case we definitely know it's completely useless.
Signed-off-by: default avatarKirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
parent 217316a6
...@@ -468,8 +468,11 @@ static void request_end(struct fuse_conn *fc, struct fuse_req *req) ...@@ -468,8 +468,11 @@ static void request_end(struct fuse_conn *fc, struct fuse_req *req)
fc->active_background--; fc->active_background--;
flush_bg_queue(fc); flush_bg_queue(fc);
spin_unlock(&fc->bg_lock); spin_unlock(&fc->bg_lock);
} } else {
/* Wake up waiter sleeping in request_wait_answer() */
wake_up(&req->waitq); wake_up(&req->waitq);
}
if (req->end) if (req->end)
req->end(fc, req); req->end(fc, req);
put_request: put_request:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment