Re: [PATCH 0/5] Remove possible deadlocks in nfs_release_page() - V3

Jeff Layton
2014-09-24T11:27:08Z

On Wed, 24 Sep 2014 11:28:32 +1000
NeilBrown <neilb@suse.de> wrote:

> This set includes acked-by's from Andrew and Peter so it should be
> OK for all five patches to go upstream through the NFS tree.
>
> I split the congestion tracking patch out from the wait-for-PG_private
> patch as they are conceptually separate.
>
> This set continues to perform well in my tests and addresses all
> issues that have been raised.
>
> Thanks a lot,
> NeilBrown
>
>
> ---
>
> NeilBrown (5):
> SCHED: add some "wait..on_bit...timeout()" interfaces.
> MM: export page_wakeup functions
> NFS: avoid deadlocks with loop-back mounted NFS filesystems.
> NFS: avoid waiting at all in nfs_release_page when congested.
> NFS/SUNRPC: Remove other deadlock-avoidance mechanisms in nfs_release_page()
>
>
> fs/nfs/file.c | 29 +++++++++++++++++++----------
> fs/nfs/write.c | 7 +++++++
> include/linux/pagemap.h | 12 ++++++++++--
> include/linux/wait.h | 5 ++++-
> kernel/sched/wait.c | 36 ++++++++++++++++++++++++++++++++++++
> mm/filemap.c | 21 +++++++++++++++------
> net/sunrpc/sched.c | 2 --
> net/sunrpc/xprtrdma/transport.c | 2 --
> net/sunrpc/xprtsock.c | 10 ----------
> 9 files changed, 91 insertions(+), 33 deletions(-)
>

Cool!

This looks like it'll address my earlier concern about setting the BDI
congested inappropriately. You can add this to the set if you like:

Acked-by: Jeff Layton <jlayton@primarydata.com>