NFS/SUNRPC: Remove other deadlock-avoidance mechanisms in nfs_release_page()
authorNeilBrown <neilb@suse.de>
Wed, 24 Sep 2014 01:28:32 +0000 (11:28 +1000)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 25 Sep 2014 12:25:47 +0000 (08:25 -0400)
commit1aff52562939485e503936e17934be077ffaea53
tree16dba0b5ce0005389ea045e29f69c6b65d133e32
parent353db7966288a2f18da22438aeec2b4862c0b241
NFS/SUNRPC: Remove other deadlock-avoidance mechanisms in nfs_release_page()

Now that nfs_release_page() doesn't block indefinitely, other deadlock
avoidance mechanisms aren't needed.
 - it doesn't hurt for kswapd to block occasionally.  If it doesn't
   want to block it would clear __GFP_WAIT.  The current_is_kswapd()
   was only added to avoid deadlocks and we have a new approach for
   that.
 - memory allocation in the SUNRPC layer can very rarely try to
   ->releasepage() a page it is trying to handle.  The deadlock
   is removed as nfs_release_page() doesn't block indefinitely.

So we don't need to set PF_FSTRANS for sunrpc network operations any
more.

Signed-off-by: NeilBrown <neilb@suse.de>
Acked-by: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/file.c
net/sunrpc/sched.c
net/sunrpc/xprtrdma/transport.c
net/sunrpc/xprtsock.c