Re: [PATCH net-next 2/7] tcp: track min RTT using windowed min-filter
From: Andrew Shewmaker <hidden>
Date: 2015-10-18 14:16:50
On Fri, Oct 16, 2015 at 09:57:42PM -0700, Yuchung Cheng wrote: ...
quoted hunk ↗ jump to hunk
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index 86a7eda..90edef5 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h@@ -217,6 +217,9 @@ struct tcp_sock { u32 mdev_max_us; /* maximal mdev for the last rtt period */ u32 rttvar_us; /* smoothed mdev_max */ u32 rtt_seq; /* sequence number to update rttvar */ + struct rtt_meas { + u32 rtt, ts; /* RTT in usec and sampling time in jiffies. */ + } rtt_min[3];
First, thanks for all the work in this patch series. In particular, applying Kern's check to ca_seq_rtt_us should fix some bad behavior I've observed recently. I only have a couple comments, so I abbreviated most of your patch. Should rtt_meas.rtt be rtt_meas.rtt_us in order to be more consistent with the naming of related variables? ...
quoted hunk ↗ jump to hunk
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 38743e5..e177386 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
...
quoted hunk ↗ jump to hunk
@@ -2961,7 +3028,7 @@ void tcp_synack_rtt_meas(struct sock *sk, struct request_sock *req) rtt_us = skb_mstamp_us_delta(&now, &tcp_rsk(req)->snt_synack); } - tcp_ack_update_rtt(sk, FLAG_SYN_ACKED, rtt_us, -1L); + tcp_ack_update_rtt(sk, FLAG_SYN_ACKED, rtt_us, -1L, rtt_us); }
This didn't apply to net-next for me. I see seq_rtt_us instead of rtt_us and a check on the existence of tp->srtt_us. Maybe I've misapplied the patch? I'll try again and test the patch series against the bad behavior I mentioned above as soon as I can. Hopefully today. -Andrew Shewmaker