mbox series

[00/11] Various NFS/sunrpc improvements for swap-over-NFS

Message ID 164660993703.31054.17075972410545449555.stgit@noble.brown (mailing list archive)
Headers show
Series Various NFS/sunrpc improvements for swap-over-NFS | expand

Message

NeilBrown March 6, 2022, 11:41 p.m. UTC
swap-over-NFS currently doesn't work.  Even after these patches it still
won't work.  Some core MM changes are needed.
However these patches make a number of improvements to NFS and SUNRPC so
that swap-over-NFS can work once those mm changes land.

There is one change since the last posting of these patches.
The last patch was added to fix a potential hang when enabling swap.

Trond/Anna - is their any chance these can go in on the next merge
window?

Thanks,
NeilBrown


---

NeilBrown (11):
      NFS: remove IS_SWAPFILE hack
      SUNRPC/call_alloc: async tasks mustn't block waiting for memory
      SUNRPC/auth: async tasks mustn't block waiting for memory
      SUNRPC/xprt: async tasks mustn't block waiting for memory
      SUNRPC: remove scheduling boost for "SWAPPER" tasks.
      NFS: discard NFS_RPC_SWAPFLAGS and RPC_TASK_ROOTCREDS
      SUNRPC: improve 'swap' handling: scheduling and PF_MEMALLOC
      NFSv4: keep state manager thread active if swap is enabled
      NFS: swap IO handling is slightly different for O_DIRECT IO
      NFS: swap-out must always use STABLE writes.
      SUNRPC: change locking for xs_swap_enable/disable


 fs/nfs/direct.c                 | 48 ++++++++++++++++++++++-----------
 fs/nfs/file.c                   | 19 +++++++++----
 fs/nfs/nfs4_fs.h                |  1 +
 fs/nfs/nfs4proc.c               | 20 ++++++++++++++
 fs/nfs/nfs4state.c              | 39 ++++++++++++++++++++++-----
 fs/nfs/read.c                   |  4 ---
 fs/nfs/write.c                  |  2 ++
 include/linux/nfs_fs.h          | 13 +++------
 include/linux/nfs_xdr.h         |  2 ++
 include/linux/sunrpc/auth.h     |  1 +
 include/linux/sunrpc/sched.h    |  1 -
 include/trace/events/sunrpc.h   |  1 -
 net/sunrpc/auth.c               |  8 ++++--
 net/sunrpc/auth_gss/auth_gss.c  |  6 ++++-
 net/sunrpc/auth_unix.c          | 10 +++++--
 net/sunrpc/clnt.c               |  7 +++--
 net/sunrpc/sched.c              | 29 +++++++++++++-------
 net/sunrpc/xprt.c               | 19 +++++--------
 net/sunrpc/xprtrdma/transport.c | 10 ++++---
 net/sunrpc/xprtsock.c           | 34 ++++++++++++-----------
 20 files changed, 185 insertions(+), 89 deletions(-)

--
Signature

Comments

NeilBrown March 10, 2022, 12:48 a.m. UTC | #1
On Mon, 07 Mar 2022, NeilBrown wrote:
> swap-over-NFS currently doesn't work.  Even after these patches it still
> won't work.  Some core MM changes are needed.
> However these patches make a number of improvements to NFS and SUNRPC so
> that swap-over-NFS can work once those mm changes land.
> 
> There is one change since the last posting of these patches.
> The last patch was added to fix a potential hang when enabling swap.
> 
> Trond/Anna - is their any chance these can go in on the next merge
> window?
> 
> Thanks,
> NeilBrown
> 
> 
> ---
> 
> NeilBrown (11):
>       NFS: remove IS_SWAPFILE hack
>       SUNRPC/call_alloc: async tasks mustn't block waiting for memory
>       SUNRPC/auth: async tasks mustn't block waiting for memory
>       SUNRPC/xprt: async tasks mustn't block waiting for memory

I note that the above two have minor conflcts when applied to linux-next
due to some GFP_NOFS having been changed to GFP_KERNEL.  Would you like
me to resend thee two?  Or resend the series?  Or are you happy to just
if it up?

Thanks,
NeilBrown