Trond, please let me know if you want to take these or if I may handle them through the NFSD tree for v5.15. Thanks. 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. Changes since RFC: - Removed RQ_DROPME test from nfs_callback_dispatch() - Restored .pc_encode call-outs to prevent dropped replies - Fixed whitespace damage --- 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 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 | 61 ++++++++++++++++--------------- 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, 96 insertions(+), 99 deletions(-) -- Chuck Lever