Skip to content

Commit 823c81c

Browse files
dhowellsjohn-cabaj
authored andcommitted
cifs: Split the smb3_add_credits tracepoint
BugLink: https://bugs.launchpad.net/bugs/1970977 Split the smb3_add_credits tracepoint to make it more obvious when looking at the logs which line corresponds to what credit change. Also add a tracepoint for credit overflow when it's being added back. Note that it might be better to add another field to the tracepoint for the information rather than splitting it. It would also be useful to store the MID potentially, though that isn't available when the credits are first obtained. Signed-off-by: David Howells <[email protected]> cc: Shyam Prasad N <[email protected]> cc: Rohith Surabattula <[email protected]> cc: [email protected] Acked-by: Paulo Alcantara (SUSE) <[email protected]> Reviewed-by: Enzo Matsumiya <[email protected]> Signed-off-by: Steve French <[email protected]> (cherry picked from commit 1ddff77) Signed-off-by: Tim Gardner <[email protected]> Acked-by: Philip Cox <[email protected]> Acked-by: Joseph Salisbury <[email protected]> Signed-off-by: Tim Gardner <[email protected]>
1 parent 9868b24 commit 823c81c

File tree

4 files changed

+16
-6
lines changed

4 files changed

+16
-6
lines changed

fs/cifs/connect.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1044,7 +1044,7 @@ smb2_add_credits_from_hdr(char *buffer, struct TCP_Server_Info *server)
10441044
spin_unlock(&server->req_lock);
10451045
wake_up(&server->request_q);
10461046

1047-
trace_smb3_add_credits(server->CurrentMid,
1047+
trace_smb3_hdr_credits(server->CurrentMid,
10481048
server->conn_id, server->hostname, scredits,
10491049
le16_to_cpu(shdr->CreditRequest), in_flight);
10501050
cifs_server_dbg(FYI, "%s: added %u credits total=%d\n",

fs/cifs/smb2ops.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ smb2_add_credits(struct TCP_Server_Info *server,
8686
if (*val > 65000) {
8787
*val = 65000; /* Don't get near 64K credits, avoid srv bugs */
8888
pr_warn_once("server overflowed SMB3 credits\n");
89+
trace_smb3_overflow_credits(server->CurrentMid,
90+
server->conn_id, server->hostname, *val,
91+
add, server->in_flight);
8992
}
9093
server->in_flight--;
9194
if (server->in_flight == 0 &&
@@ -251,7 +254,7 @@ smb2_wait_mtu_credits(struct TCP_Server_Info *server, unsigned int size,
251254
in_flight = server->in_flight;
252255
spin_unlock(&server->req_lock);
253256

254-
trace_smb3_add_credits(server->CurrentMid,
257+
trace_smb3_wait_credits(server->CurrentMid,
255258
server->conn_id, server->hostname, scredits, -(credits->value), in_flight);
256259
cifs_dbg(FYI, "%s: removed %u credits total=%d\n",
257260
__func__, credits->value, scredits);
@@ -300,7 +303,7 @@ smb2_adjust_credits(struct TCP_Server_Info *server,
300303
spin_unlock(&server->req_lock);
301304
wake_up(&server->request_q);
302305

303-
trace_smb3_add_credits(server->CurrentMid,
306+
trace_smb3_adj_credits(server->CurrentMid,
304307
server->conn_id, server->hostname, scredits,
305308
credits->value - new_val, in_flight);
306309
cifs_dbg(FYI, "%s: adjust added %u credits total=%d\n",
@@ -2517,7 +2520,7 @@ smb2_is_status_pending(char *buf, struct TCP_Server_Info *server)
25172520
spin_unlock(&server->req_lock);
25182521
wake_up(&server->request_q);
25192522

2520-
trace_smb3_add_credits(server->CurrentMid,
2523+
trace_smb3_pend_credits(server->CurrentMid,
25212524
server->conn_id, server->hostname, scredits,
25222525
le16_to_cpu(shdr->CreditRequest), in_flight);
25232526
cifs_dbg(FYI, "%s: status pending add %u credits total=%d\n",

fs/cifs/trace.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1006,6 +1006,13 @@ DEFINE_SMB3_CREDIT_EVENT(credit_timeout);
10061006
DEFINE_SMB3_CREDIT_EVENT(insufficient_credits);
10071007
DEFINE_SMB3_CREDIT_EVENT(too_many_credits);
10081008
DEFINE_SMB3_CREDIT_EVENT(add_credits);
1009+
DEFINE_SMB3_CREDIT_EVENT(adj_credits);
1010+
DEFINE_SMB3_CREDIT_EVENT(hdr_credits);
1011+
DEFINE_SMB3_CREDIT_EVENT(nblk_credits);
1012+
DEFINE_SMB3_CREDIT_EVENT(pend_credits);
1013+
DEFINE_SMB3_CREDIT_EVENT(wait_credits);
1014+
DEFINE_SMB3_CREDIT_EVENT(waitff_credits);
1015+
DEFINE_SMB3_CREDIT_EVENT(overflow_credits);
10091016
DEFINE_SMB3_CREDIT_EVENT(set_credits);
10101017

10111018
#endif /* _CIFS_TRACE_H */

fs/cifs/transport.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@ wait_for_free_credits(struct TCP_Server_Info *server, const int num_credits,
543543
in_flight = server->in_flight;
544544
spin_unlock(&server->req_lock);
545545

546-
trace_smb3_add_credits(server->CurrentMid,
546+
trace_smb3_nblk_credits(server->CurrentMid,
547547
server->conn_id, server->hostname, scredits, -1, in_flight);
548548
cifs_dbg(FYI, "%s: remove %u credits total=%d\n",
549549
__func__, 1, scredits);
@@ -649,7 +649,7 @@ wait_for_free_credits(struct TCP_Server_Info *server, const int num_credits,
649649
in_flight = server->in_flight;
650650
spin_unlock(&server->req_lock);
651651

652-
trace_smb3_add_credits(server->CurrentMid,
652+
trace_smb3_waitff_credits(server->CurrentMid,
653653
server->conn_id, server->hostname, scredits,
654654
-(num_credits), in_flight);
655655
cifs_dbg(FYI, "%s: remove %u credits total=%d\n",

0 commit comments

Comments
 (0)