[PATCH 00/12 v6] fs/locks: avoid thundering-herd wake-ups

From: NeilBrown
Date: Thu Nov 29 2018 - 18:05:55 EST

This series has the fixes for the recently reported performance
regressions merged into the patches which caused them.
It also has a couple of little fixes that have been mentioned on the
list, and that Jeff had merged into his copy.



NeilBrown (12):
fs/locks: rename some lists and pointers.
fs/locks: split out __locks_wake_up_blocks().
NFS: use locks_copy_lock() to copy locks.
gfs2: properly initial file_lock used for unlock.
ocfs2: properly initial file_lock used for unlock.
fs/locks: use properly initialized file_lock when unlocking.
fs/locks: allow a lock request to block other requests.
fs/locks: always delete_block after waiting.
fs/locks: change all *_conflict() functions to return bool.
fs/locks: create a tree of dependent requests.
fs/locks: merge posix_unblock_lock() and locks_delete_block()
fs/locks: locks: remove unnecessary white space.

fs/cifs/file.c | 4
fs/gfs2/file.c | 10 +
fs/lockd/svclock.c | 2
fs/locks.c | 342 +++++++++++++++++++++++++--------------
fs/nfs/nfs4proc.c | 6 -
fs/nfsd/nfs4state.c | 6 -
fs/ocfs2/locks.c | 10 +
include/linux/fs.h | 13 +
include/trace/events/filelock.h | 16 +-
9 files changed, 252 insertions(+), 157 deletions(-)