mbox series

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

Message ID 154353251599.32133.1085882002675619240.stgit@noble (mailing list archive)
Headers show
Series fs/locks: avoid thundering-herd wake-ups | expand

Message

NeilBrown Nov. 29, 2018, 11:04 p.m. UTC
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.

Thanks,
NeilBrown

---

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(-)

--
Signature

Comments

Jeff Layton Nov. 30, 2018, 4:34 p.m. UTC | #1
On Fri, 2018-11-30 at 10:04 +1100, NeilBrown wrote:
> 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.
> 
> Thanks,
> NeilBrown
> 
> ---
> 
> 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(-)
> 
> --
> Signature
> 

Thanks Neil,

This looks great. I've gone ahead and replaced the set in locks-next
with this one. Unless we hear of any other problems, I'll plan to send a
PR to Linus when the merge window opens.

Cheers,