Skip to content
  • Yuchung Cheng's avatar
    tcp: reset reordering est. selectively on timeout · 74c181d5
    Yuchung Cheng authored
    
    
    On timeout the TCP sender unconditionally resets the estimated degree
    of network reordering (tp->reordering). The idea behind this is that
    the estimate is too large to trigger fast recovery (e.g., due to a IP
    path change).
    
    But for example if the sender only had 2 packets outstanding, then a
    timeout doesn't tell much about reordering. A sender that learns about
    reordering on big writes and loses packets on small writes will end up
    falsely retransmitting again and again, especially when reordering is
    more likely on big writes.
    
    Therefore the sender should only suspect that tp->reordering is too
    high if it could have gone into fast recovery with the (lower) default
    estimate.
    
    Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
    Acked-by: default avatarNeal Cardwell <ncardwell@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    74c181d5