mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
fs/locks.c: prepare for BKL removal
This prepares the removal of the big kernel lock from the file locking code. We still use the BKL as long as fs/lockd uses it and ceph might sleep, but we can flip the definition to a private spinlock as soon as that's done. All users outside of fs/lockd get converted to use lock_flocks() instead of lock_kernel() where appropriate. Based on an earlier patch to use a spinlock from Matthew Wilcox, who has attempted this a few times before, the earliest patch from over 10 years ago turned it into a semaphore, which ended up being slower than the BKL and was subsequently reverted. Someone should do some serious performance testing when this becomes a spinlock, since this has caused problems before. Using a spinlock should be at least as good as the BKL in theory, but who knows... Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Matthew Wilcox <[email protected]> Cc: Christoph Hellwig <[email protected]> Cc: Trond Myklebust <[email protected]> Cc: "J. Bruce Fields" <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Miklos Szeredi <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: John Kacur <[email protected]> Cc: Sage Weil <[email protected]> Cc: [email protected] Cc: [email protected]
This commit is contained in:
parent
2e54eb96e2
commit
b89f432133
8 changed files with 97 additions and 66 deletions
|
|
@ -620,6 +620,8 @@ static ssize_t gfs2_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
|
|||
* cluster; until we do, disable leases (by just returning -EINVAL),
|
||||
* unless the administrator has requested purely local locking.
|
||||
*
|
||||
* Locking: called under lock_flocks
|
||||
*
|
||||
* Returns: errno
|
||||
*/
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue