While troubleshooting a performance problem internally, it became evident that we needed tracepoints in nfsd_commit. The first patch adds that. While discussing that, Sargun pointed out some tracepoints he added using kprobes. Those are converted to static tracepoints here, and the legacy dprintk's removed. Lastly, I've updated the svc_xprt_dequeue tracepoint to show how long the xprt sat on the queue before being serviced. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> --- Changes in v2: - Break tracepoints out into multiple patches - Flesh out the tracepoints in these locations to display the same info as legacy dprintks. - have all the tracepoints SVC_XPRT_ENDPOINT_* info - update svc_xprt_dequeue tracepoint to show how long xprt was on queue - Link to v1: https://lore.kernel.org/r/20250306-nfsd-tracepoints-v1-0-4405bf41b95f@xxxxxxxxxx --- Jeff Layton (12): nfsd: add commit start/done tracepoints around nfsd_commit() sunrpc: add info about xprt queue times to svc_xprt_dequeue tracepoint sunrpc: move the SVC_RQST_EVENT_*() macros to common header nfsd: add a tracepoint for nfsd_setattr nfsd: add a tracepoint to nfsd_lookup_dentry nfsd: add tracepoints around nfsd_create events nfsd: add tracepoints for symlink events nfsd: add tracepoints for hardlink events nfsd: add tracepoints for unlink events nfsd: add tracepoints to rename events nfsd: add tracepoints for readdir events nfsd: add tracepoint for getattr events fs/nfsd/nfs3proc.c | 67 +++------ fs/nfsd/nfs4proc.c | 45 ++++++ fs/nfsd/nfsproc.c | 39 ++---- fs/nfsd/trace.h | 298 ++++++++++++++++++++++++++++++++++++++++ fs/nfsd/vfs.c | 10 +- include/linux/sunrpc/svc_xprt.h | 1 + include/trace/events/sunrpc.h | 36 +---- include/trace/misc/fs.h | 21 +++ include/trace/misc/sunrpc.h | 23 ++++ net/sunrpc/svc_xprt.c | 1 + 10 files changed, 433 insertions(+), 108 deletions(-) --- base-commit: 71238ba71a67aab408cfe14b6a5ae3c9b83082f9 change-id: 20250303-nfsd-tracepoints-c82add9155a6 Best regards, -- Jeff Layton <jlayton@xxxxxxxxxx>