tcp: improve RTT from SACK for CC
authorKenneth Klette Jonassen <kennetkl@ifi.uio.no>
Thu, 30 Apr 2015 23:10:58 +0000 (01:10 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 May 2015 03:18:01 +0000 (23:18 -0400)
commit31231a8a873026410eab438c5757430546a517d1
tree4855955195a530170508350262fa19d52afafbcc
parent196da974758550a3933c8b0244ef98148df10552
tcp: improve RTT from SACK for CC

tcp_sacktag_one() always picks the earliest sequence SACKed for RTT.
This might not make sense for congestion control in cases where:

  1. ACKs are lost, i.e. a SACK following a lost SACK covers both
     new and old segments at the receiver.
  2. The receiver disregards the RFC 5681 recommendation to immediately
     ACK out-of-order segments.

Give congestion control a RTT for the latest segment SACKed, which is the
most accurate RTT estimate, but preserve the conservative RTT for RTO.

Removes the call to skb_mstamp_get() in tcp_sacktag_one().

Cc: Yuchung Cheng <ycheng@google.com>
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Kenneth Klette Jonassen <kennetkl@ifi.uio.no>
Acked-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c