mbox series

[RFC,0/7] XDR overhaul of NFS callback service

Message ID 162610122257.2466.7452891285800059767.stgit@klimt.1015granger.net (mailing list archive)
Headers show
Series XDR overhaul of NFS callback service | expand

Message

Chuck Lever III July 12, 2021, 2:52 p.m. UTC
The purpose of this series is to prepare for the optimization of
svc_process_common() to handle NFSD workloads more efficiently. In
other words, NFSD should be the lubricated common case, and callback
is the use case that takes exceptional paths.

Note: For the moment these are compile-tested only.

There are some additional clean-ups that will be possible once this
series is merged. See

https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/log/?h=nfsd-xdr-stream

for follow-on work.

---

Chuck Lever (7):
      SUNRPC: Add svc_rqst::rq_auth_stat
      SUNRPC: Set rq_auth_stat in the pg_authenticate() callout
      SUNRPC: Eliminate the RQ_AUTHERR flag
      NFS: Add a private local dispatcher for NFSv4 callback operations
      NFS: Remove unused callback void encoder and decoder
      NFS: Extract the xdr_init_encode/decode() calls from decode_compound
      NFS: Clean up the synopsis of callback process_op()


 fs/lockd/svc.c                    |  2 +
 fs/nfs/callback.c                 |  4 ++
 fs/nfs/callback_xdr.c             | 64 ++++++++++++++-----------------
 include/linux/sunrpc/svc.h        |  3 +-
 include/linux/sunrpc/svcauth.h    |  4 +-
 include/trace/events/sunrpc.h     |  9 ++---
 net/sunrpc/auth_gss/svcauth_gss.c | 47 ++++++++++++-----------
 net/sunrpc/svc.c                  | 39 ++++++-------------
 net/sunrpc/svcauth.c              |  8 ++--
 net/sunrpc/svcauth_unix.c         | 18 +++++----
 10 files changed, 92 insertions(+), 106 deletions(-)

--
Chuck Lever

Comments

J. Bruce Fields July 23, 2021, 8:29 p.m. UTC | #1
These patches look OK to me.  (And they pass my usual tests, fwiw.)

--b.

On Mon, Jul 12, 2021 at 10:52:16AM -0400, Chuck Lever wrote:
> The purpose of this series is to prepare for the optimization of
> svc_process_common() to handle NFSD workloads more efficiently. In
> other words, NFSD should be the lubricated common case, and callback
> is the use case that takes exceptional paths.
> 
> Note: For the moment these are compile-tested only.
> 
> There are some additional clean-ups that will be possible once this
> series is merged. See
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/log/?h=nfsd-xdr-stream
> 
> for follow-on work.
> 
> ---
> 
> Chuck Lever (7):
>       SUNRPC: Add svc_rqst::rq_auth_stat
>       SUNRPC: Set rq_auth_stat in the pg_authenticate() callout
>       SUNRPC: Eliminate the RQ_AUTHERR flag
>       NFS: Add a private local dispatcher for NFSv4 callback operations
>       NFS: Remove unused callback void encoder and decoder
>       NFS: Extract the xdr_init_encode/decode() calls from decode_compound
>       NFS: Clean up the synopsis of callback process_op()
> 
> 
>  fs/lockd/svc.c                    |  2 +
>  fs/nfs/callback.c                 |  4 ++
>  fs/nfs/callback_xdr.c             | 64 ++++++++++++++-----------------
>  include/linux/sunrpc/svc.h        |  3 +-
>  include/linux/sunrpc/svcauth.h    |  4 +-
>  include/trace/events/sunrpc.h     |  9 ++---
>  net/sunrpc/auth_gss/svcauth_gss.c | 47 ++++++++++++-----------
>  net/sunrpc/svc.c                  | 39 ++++++-------------
>  net/sunrpc/svcauth.c              |  8 ++--
>  net/sunrpc/svcauth_unix.c         | 18 +++++----
>  10 files changed, 92 insertions(+), 106 deletions(-)
> 
> --
> Chuck Lever