* [SMB3][PATCH] Add four more dynamic tracepoints
@ 2019-09-03 23:43 Steve French
2019-09-04 0:05 ` ronnie sahlberg
0 siblings, 1 reply; 2+ messages in thread
From: Steve French @ 2019-09-03 23:43 UTC (permalink / raw)
To: CIFS
[-- Attachment #1: Type: text/plain, Size: 1188 bytes --]
Add four more dynamic tracepoints (for flush enter and non-error exit,
and for close enter and non-error exit - we already had them for flush
error and close error). For example:
cp-22823 [002] .... 123439.179701: smb3_enter:
_cifsFileInfo_put: xid=10
cp-22823 [002] .... 123439.179705: smb3_close_enter:
xid=10 sid=0x98871327 tid=0xfcd585ff fid=0xc7f84682
cp-22823 [002] .... 123439.179711: smb3_cmd_enter:
sid=0x98871327 tid=0xfcd585ff cmd=6 mid=43
cp-22823 [002] .... 123439.180175: smb3_cmd_done:
sid=0x98871327 tid=0xfcd585ff cmd=6 mid=43
cp-22823 [002] .... 123439.180179: smb3_close_done:
xid=10 sid=0x98871327 tid=0xfcd585ff fid=0xc7f84682
dd-22981 [003] .... 123696.946011: smb3_flush_enter:
xid=24 sid=0x98871327 tid=0xfcd585ff fid=0x1917736f
dd-22981 [003] .... 123696.946013: smb3_cmd_enter:
sid=0x98871327 tid=0xfcd585ff cmd=7 mid=123
dd-22981 [003] .... 123696.956639: smb3_cmd_done:
sid=0x98871327 tid=0x0 cmd=7 mid=123
dd-22981 [003] .... 123696.956644: smb3_flush_done:
xid=24 sid=0x98871327 tid=0xfcd585ff fid=0x1917736f
--
Thanks,
Steve
[-- Attachment #2: 0001-smb3-add-dynamic-tracepoints-for-flush-and-close.patch --]
[-- Type: text/x-patch, Size: 4073 bytes --]
From b069788a03920cd6212ac656a2864571f2cc1c7d Mon Sep 17 00:00:00 2001
From: Steve French <stfrench@microsoft.com>
Date: Tue, 3 Sep 2019 18:35:42 -0500
Subject: [PATCH] smb3: add dynamic tracepoints for flush and close
We only had dynamic tracepoints on errors in flush
and close, but may be helpful to trace enter
and non-error exits for those. Sample trace examples
(excerpts) from "cp" and "dd" show two of the new
tracepoints.
cp-22823 [002] .... 123439.179701: smb3_enter: _cifsFileInfo_put: xid=10
cp-22823 [002] .... 123439.179705: smb3_close_enter: xid=10 sid=0x98871327 tid=0xfcd585ff fid=0xc7f84682
cp-22823 [002] .... 123439.179711: smb3_cmd_enter: sid=0x98871327 tid=0xfcd585ff cmd=6 mid=43
cp-22823 [002] .... 123439.180175: smb3_cmd_done: sid=0x98871327 tid=0xfcd585ff cmd=6 mid=43
cp-22823 [002] .... 123439.180179: smb3_close_done: xid=10 sid=0x98871327 tid=0xfcd585ff fid=0xc7f84682
dd-22981 [003] .... 123696.946011: smb3_flush_enter: xid=24 sid=0x98871327 tid=0xfcd585ff fid=0x1917736f
dd-22981 [003] .... 123696.946013: smb3_cmd_enter: sid=0x98871327 tid=0xfcd585ff cmd=7 mid=123
dd-22981 [003] .... 123696.956639: smb3_cmd_done: sid=0x98871327 tid=0x0 cmd=7 mid=123
dd-22981 [003] .... 123696.956644: smb3_flush_done: xid=24 sid=0x98871327 tid=0xfcd585ff fid=0x1917736f
Signed-off-by: Steve French <stfrench@microsoft.com>
---
fs/cifs/smb2pdu.c | 10 ++++++++--
fs/cifs/trace.h | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 43 insertions(+), 2 deletions(-)
diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c
index 0e92983de0b7..4c9c34cdf05f 100644
--- a/fs/cifs/smb2pdu.c
+++ b/fs/cifs/smb2pdu.c
@@ -2918,6 +2918,7 @@ SMB2_close_flags(const unsigned int xid, struct cifs_tcon *tcon,
rqst.rq_iov = iov;
rqst.rq_nvec = 1;
+ trace_smb3_close_enter(xid, persistent_fid, tcon->tid, ses->Suid);
rc = SMB2_close_init(tcon, &rqst, persistent_fid, volatile_fid);
if (rc)
goto close_exit;
@@ -2930,7 +2931,9 @@ SMB2_close_flags(const unsigned int xid, struct cifs_tcon *tcon,
trace_smb3_close_err(xid, persistent_fid, tcon->tid, ses->Suid,
rc);
goto close_exit;
- }
+ } else
+ trace_smb3_close_done(xid, persistent_fid, tcon->tid,
+ ses->Suid);
atomic_dec(&tcon->num_remote_opens);
@@ -3353,13 +3356,16 @@ SMB2_flush(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_fid,
if (rc)
goto flush_exit;
+ trace_smb3_flush_enter(xid, persistent_fid, tcon->tid, ses->Suid);
rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, &rsp_iov);
if (rc != 0) {
cifs_stats_fail_inc(tcon, SMB2_FLUSH_HE);
trace_smb3_flush_err(xid, persistent_fid, tcon->tid, ses->Suid,
rc);
- }
+ } else
+ trace_smb3_flush_done(xid, persistent_fid, tcon->tid,
+ ses->Suid);
flush_exit:
SMB2_flush_free(&rqst);
diff --git a/fs/cifs/trace.h b/fs/cifs/trace.h
index 99c4d799c24b..f1339f4a2d07 100644
--- a/fs/cifs/trace.h
+++ b/fs/cifs/trace.h
@@ -117,6 +117,41 @@ DEFINE_SMB3_RW_DONE_EVENT(falloc_done);
/*
* For handle based calls other than read and write, and get/set info
*/
+DECLARE_EVENT_CLASS(smb3_fd_class,
+ TP_PROTO(unsigned int xid,
+ __u64 fid,
+ __u32 tid,
+ __u64 sesid),
+ TP_ARGS(xid, fid, tid, sesid),
+ TP_STRUCT__entry(
+ __field(unsigned int, xid)
+ __field(__u64, fid)
+ __field(__u32, tid)
+ __field(__u64, sesid)
+ ),
+ TP_fast_assign(
+ __entry->xid = xid;
+ __entry->fid = fid;
+ __entry->tid = tid;
+ __entry->sesid = sesid;
+ ),
+ TP_printk("\txid=%u sid=0x%llx tid=0x%x fid=0x%llx",
+ __entry->xid, __entry->sesid, __entry->tid, __entry->fid)
+)
+
+#define DEFINE_SMB3_FD_EVENT(name) \
+DEFINE_EVENT(smb3_fd_class, smb3_##name, \
+ TP_PROTO(unsigned int xid, \
+ __u64 fid, \
+ __u32 tid, \
+ __u64 sesid), \
+ TP_ARGS(xid, fid, tid, sesid))
+
+DEFINE_SMB3_FD_EVENT(flush_enter);
+DEFINE_SMB3_FD_EVENT(flush_done);
+DEFINE_SMB3_FD_EVENT(close_enter);
+DEFINE_SMB3_FD_EVENT(close_done);
+
DECLARE_EVENT_CLASS(smb3_fd_err_class,
TP_PROTO(unsigned int xid,
__u64 fid,
--
2.20.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [SMB3][PATCH] Add four more dynamic tracepoints
2019-09-03 23:43 [SMB3][PATCH] Add four more dynamic tracepoints Steve French
@ 2019-09-04 0:05 ` ronnie sahlberg
0 siblings, 0 replies; 2+ messages in thread
From: ronnie sahlberg @ 2019-09-04 0:05 UTC (permalink / raw)
To: Steve French; +Cc: CIFS
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
On Wed, Sep 4, 2019 at 9:44 AM Steve French <smfrench@gmail.com> wrote:
>
> Add four more dynamic tracepoints (for flush enter and non-error exit,
> and for close enter and non-error exit - we already had them for flush
> error and close error). For example:
>
> cp-22823 [002] .... 123439.179701: smb3_enter:
> _cifsFileInfo_put: xid=10
> cp-22823 [002] .... 123439.179705: smb3_close_enter:
> xid=10 sid=0x98871327 tid=0xfcd585ff fid=0xc7f84682
> cp-22823 [002] .... 123439.179711: smb3_cmd_enter:
> sid=0x98871327 tid=0xfcd585ff cmd=6 mid=43
> cp-22823 [002] .... 123439.180175: smb3_cmd_done:
> sid=0x98871327 tid=0xfcd585ff cmd=6 mid=43
> cp-22823 [002] .... 123439.180179: smb3_close_done:
> xid=10 sid=0x98871327 tid=0xfcd585ff fid=0xc7f84682
>
> dd-22981 [003] .... 123696.946011: smb3_flush_enter:
> xid=24 sid=0x98871327 tid=0xfcd585ff fid=0x1917736f
> dd-22981 [003] .... 123696.946013: smb3_cmd_enter:
> sid=0x98871327 tid=0xfcd585ff cmd=7 mid=123
> dd-22981 [003] .... 123696.956639: smb3_cmd_done:
> sid=0x98871327 tid=0x0 cmd=7 mid=123
> dd-22981 [003] .... 123696.956644: smb3_flush_done:
> xid=24 sid=0x98871327 tid=0xfcd585ff fid=0x1917736f
>
>
> --
> Thanks,
>
> Steve
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-09-04 0:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-03 23:43 [SMB3][PATCH] Add four more dynamic tracepoints Steve French
2019-09-04 0:05 ` ronnie sahlberg
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.