diff options
author | Masami Hiramatsu <mhiramat@kernel.org> | 2017-12-28 21:45:51 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-01-02 14:27:29 -0500 |
commit | c3fde1bd28f7c720d7bc587e85e54706df4f8163 (patch) | |
tree | 88de466d3c6836c14ed99be75d4cc49249540d43 /net/ipv4/tcp_input.c | |
parent | 4e3b95f1983b2d39dd27349d83ffc520aab3516d (diff) |
net: tcp: Add trace events for TCP congestion window tracing
This adds an event to trace TCP stat variables with
slightly intrusive trace-event. This uses ftrace/perf
event log buffer to trace those state, no needs to
prepare own ring-buffer, nor custom user apps.
User can use ftrace to trace this event as below;
# cd /sys/kernel/debug/tracing
# echo 1 > events/tcp/tcp_probe/enable
(run workloads)
# cat trace
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 4d55c4b338ee..ff71b18d9682 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -5299,6 +5299,9 @@ void tcp_rcv_established(struct sock *sk, struct sk_buff *skb, | |||
5299 | unsigned int len = skb->len; | 5299 | unsigned int len = skb->len; |
5300 | struct tcp_sock *tp = tcp_sk(sk); | 5300 | struct tcp_sock *tp = tcp_sk(sk); |
5301 | 5301 | ||
5302 | /* TCP congestion window tracking */ | ||
5303 | trace_tcp_probe(sk, skb); | ||
5304 | |||
5302 | tcp_mstamp_refresh(tp); | 5305 | tcp_mstamp_refresh(tp); |
5303 | if (unlikely(!sk->sk_rx_dst)) | 5306 | if (unlikely(!sk->sk_rx_dst)) |
5304 | inet_csk(sk)->icsk_af_ops->sk_rx_dst_set(sk, skb); | 5307 | inet_csk(sk)->icsk_af_ops->sk_rx_dst_set(sk, skb); |