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