[PATCH v2 00/12] nfsd: observability improvements

Jeff Layton posted 12 patches 3 weeks ago
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(-)
[PATCH v2 00/12] nfsd: observability improvements
Posted by Jeff Layton 3 weeks ago
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@kernel.org>
---
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@kernel.org

---
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@kernel.org>
Re: (subset) [PATCH v2 00/12] nfsd: observability improvements
Posted by cel@kernel.org 2 weeks, 5 days ago
From: Chuck Lever <chuck.lever@oracle.com>

On Wed, 09 Apr 2025 10:32:22 -0400, Jeff Layton wrote:
> 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.
> 
> [...]

Applied to nfsd-testing, thanks!

[01/12] nfsd: add commit start/done tracepoints around nfsd_commit()
        commit: f2a3825118e6177f4de5ee9996248ced2918b08b

--
Chuck Lever