locks: avoid taking global lock if possible when waking up blocked waiters
authorJeff Layton <jlayton@redhat.com>
Fri, 21 Jun 2013 12:58:16 +0000 (08:58 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 29 Jun 2013 08:57:43 +0000 (12:57 +0400)
commit4e8c765d384e549f9b542ea0bd42e2aa227e1404
tree23600131f3c0e8fa0d84707ccb19344f14627804
parent1c8c601a8c0dc59fe64907dcd9d512a3d181ddc7
locks: avoid taking global lock if possible when waking up blocked waiters

Since we always hold the i_lock when inserting a new waiter onto the
fl_block list, we can avoid taking the global lock at all if we find
that it's empty when we go to wake up blocked waiters.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/locks.c