Skip to content

Cache deferral improvements - try N+2

NeilBrown linux-nfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest6 patches 6 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6sunrpc/cache: allow threads to block while waiting for cache update.include/linux/sunrpc/cache.h net/sunrpc/cache.c net/sunrpc/svc_xprt.c+60 -10 replies
2/6nfsd/idmap: drop special request deferal in favour of improved default.fs/nfsd/nfs4idmap.c+11 -941 reply
3/6sunrpc: close connection when a request is irretrievably lost.include/linux/sunrpc/svcauth.h net/sunrpc/auth_gss/svcauth_gss.c net/sunrpc/svc.c +1 more+24 -123 replies
4/6nfsd: disable deferral for NFSv4fs/nfsd/nfs4proc.c+2 -21 reply
5/6svcauth_gss: replace a trivial 'switch' with an 'if'net/sunrpc/auth_gss/svcauth_gss.c+19 -220 replies
6/6sunrpc/cache: change deferred-request hash table to use hlist.include/linux/sunrpc/cache.h net/sunrpc/cache.c+12 -180 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/6] Cache deferral improvements - try N+2

I don't think it is quite 6 months since I last posted these, but I've definitely dropped the ball... so here they are again.

This set allows kernel threads to wait a short while for an upcall (to get auth info) to complete rather than having to queue and retry the whole request.
It also changes NFSv4 to never use the old deferral scheme at all.

The last two patches are just little clean-ups that I found while wandering around the code.

I think I have address all the concern raised previously, e.g.
http://www.spinics.net/lists/linux-nfs/msg12253.html

Note that there is a conflict between this patch set and the other one. The other changes someing in nfs4idmap.c, and this one removes all the code that was changed. Very easy to resolve.

Thanks,
NeilBrown

---

NeilBrown (6):
sunrpc/cache: allow threads to block while waiting for cache update. nfsd/idmap: drop special request deferal in favour of improved default.
sunrpc: close connection when a request is irretrievably lost.
nfsd: disable deferral for NFSv4
svcauth_gss: replace a trivial 'switch' with an 'if' sunrpc/cache: change deferred-request hash table to use hlist.

 fs/nfsd/nfs4idmap.c               |  105 ++++---------------------------------
 fs/nfsd/nfs4proc.c                |    4 +
 include/linux/sunrpc/cache.h      |    5 +-
 include/linux/sunrpc/svcauth.h    |   10 ++--
 net/sunrpc/auth_gss/svcauth_gss.c |   51 ++++++++----------
 net/sunrpc/cache.c                |   71 +++++++++++++++++++------
 net/sunrpc/svc.c                  |    3 +
 net/sunrpc/svc_xprt.c             |   11 ++++
 net/sunrpc/svcauth_unix.c         |   11 +++-
 9 files changed, 125 insertions(+), 146 deletions(-)
Signature · 1 line
Signature