Skip to content

Commit 1ddff77

Browse files
dhowellsSteve French
authored andcommitted
cifs: Split the smb3_add_credits tracepoint
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]>
1 parent d788e51 commit 1ddff77

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
@@ -1049,7 +1049,7 @@ smb2_add_credits_from_hdr(char *buffer, struct TCP_Server_Info *server)
10491049
spin_unlock(&server->req_lock);
10501050
wake_up(&server->request_q);
10511051

1052-
trace_smb3_add_credits(server->CurrentMid,
1052+
trace_smb3_hdr_credits(server->CurrentMid,
10531053
server->conn_id, server->hostname, scredits,
10541054
le16_to_cpu(shdr->CreditRequest), in_flight);
10551055
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",
@@ -2492,7 +2495,7 @@ smb2_is_status_pending(char *buf, struct TCP_Server_Info *server)
24922495
spin_unlock(&server->req_lock);
24932496
wake_up(&server->request_q);
24942497

2495-
trace_smb3_add_credits(server->CurrentMid,
2498+
trace_smb3_pend_credits(server->CurrentMid,
24962499
server->conn_id, server->hostname, scredits,
24972500
le16_to_cpu(shdr->CreditRequest), in_flight);
24982501
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
@@ -542,7 +542,7 @@ wait_for_free_credits(struct TCP_Server_Info *server, const int num_credits,
542542
in_flight = server->in_flight;
543543
spin_unlock(&server->req_lock);
544544

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

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

0 commit comments

Comments
 (0)