smb3: add dynamic trace point for smb3_cmd_enter
authorSteve French <stfrench@microsoft.com>
Wed, 27 Feb 2019 03:26:20 +0000 (21:26 -0600)
committerSteve French <stfrench@microsoft.com>
Wed, 6 Mar 2019 00:10:13 +0000 (18:10 -0600)
Add tracepoint before sending an SMB3 command on the wire (ie add
an smb3_cmd_enter tracepoint). This allows us to look in much
more detail at response times (between request and response).

Signed-off-by: Steve French <stfrench@microsoft.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
fs/cifs/smb2transport.c
fs/cifs/trace.h

index 63264db..fa1fec2 100644 (file)
@@ -602,6 +602,8 @@ smb2_mid_entry_alloc(const struct smb2_sync_hdr *shdr,
 
        atomic_inc(&midCount);
        temp->mid_state = MID_REQUEST_ALLOCATED;
+       trace_smb3_cmd_enter(shdr->TreeId, shdr->SessionId,
+               le16_to_cpu(shdr->Command), temp->mid);
        return temp;
 }
 
@@ -636,6 +638,7 @@ smb2_get_mid_entry(struct cifs_ses *ses, struct smb2_sync_hdr *shdr,
        spin_lock(&GlobalMid_Lock);
        list_add_tail(&(*mid)->qhead, &ses->server->pending_mid_q);
        spin_unlock(&GlobalMid_Lock);
+
        return 0;
 }
 
index b6352b6..2a0be3e 100644 (file)
@@ -275,6 +275,7 @@ DEFINE_EVENT(smb3_cmd_done_class, smb3_##name,    \
                __u64   mid),                   \
        TP_ARGS(tid, sesid, cmd, mid))
 
+DEFINE_SMB3_CMD_DONE_EVENT(cmd_enter);
 DEFINE_SMB3_CMD_DONE_EVENT(cmd_done);
 DEFINE_SMB3_CMD_DONE_EVENT(ses_expired);