Commit f398efc1 authored by Kevin Kou's avatar Kevin Kou Committed by David S. Miller

sctp: add enabled check for path tracepoint loop.

sctp_outq_sack is the main function handles SACK, it is called very
frequently. As the commit "move trace_sctp_probe_path into sctp_outq_sack"
added below code to this function, sctp tracepoint is disabled most of time,
but the loop of transport list will be always called even though the
tracepoint is disabled, this is unnecessary.

+	/* SCTP path tracepoint for congestion control debugging. */
+	list_for_each_entry(transport, transport_list, transports) {
+		trace_sctp_probe_path(transport, asoc);
+	}

This patch is to add tracepoint enabled check at outside of the loop of
transport list, and avoid traversing the loop when trace is disabled,
it is a small optimization.
Signed-off-by: default avatarKevin Kou <qdkevin.kou@gmail.com>
Acked-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9010ef57
...@@ -1240,8 +1240,9 @@ int sctp_outq_sack(struct sctp_outq *q, struct sctp_chunk *chunk) ...@@ -1240,8 +1240,9 @@ int sctp_outq_sack(struct sctp_outq *q, struct sctp_chunk *chunk)
transport_list = &asoc->peer.transport_addr_list; transport_list = &asoc->peer.transport_addr_list;
/* SCTP path tracepoint for congestion control debugging. */ /* SCTP path tracepoint for congestion control debugging. */
list_for_each_entry(transport, transport_list, transports) { if (trace_sctp_probe_path_enabled()) {
trace_sctp_probe_path(transport, asoc); list_for_each_entry(transport, transport_list, transports)
trace_sctp_probe_path(transport, asoc);
} }
sack_ctsn = ntohl(sack->cum_tsn_ack); sack_ctsn = ntohl(sack->cum_tsn_ack);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment