Re: [PATCH 00/12 v5] locks: avoid thundering-herd wake-ups
From: J. Bruce Fields
Date: Mon Nov 12 2018 - 13:17:08 EST
ACK to the series.
It also passed my usual regression tests on top of 4.19. (I still have
some unrelated problems to sort out on 4.20.)
--b.
On Mon, Nov 12, 2018 at 12:14:48PM +1100, NeilBrown wrote:
> Changes:
> - field names improved as requested by Bruce.
> "fl_blocked_requests" is a list of blocked requests,
> linked through fl_block_member
> - the introductory text has been moved to a commit comment
> as suggested by Bruce
> - documentation added to locks.c as suggested by Bruce - I made
> a few little changes
> - flock_make_lock() now properly initialized a lock - using
> the code from Jeff
> - code actually compiles for ocfs2 and gfs2
>
> 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.
> 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.
> locks: merge posix_unblock_lock() and locks_delete_block()
> VFS: locks: remove unnecessary white space.
>
>
> fs/cifs/file.c | 4
> fs/gfs2/file.c | 10 +
> fs/lockd/svclock.c | 2
> fs/locks.c | 319 ++++++++++++++++++++++++---------------
> 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, 230 insertions(+), 156 deletions(-)
>
> --
> Signature