]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: tso: allow deferring under reordering state
authorEric Dumazet <edumazet@google.com>
Sun, 26 Jul 2015 07:45:24 +0000 (09:45 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Jul 2015 08:23:20 +0000 (01:23 -0700)
commit8351f51644fe135c62a27485ac7d10024479315c
tree838eb08faeb657f99bb0fd437c5da84b5ee7477e
parentf1a378b6d0ef8fc8eff2db0632a571dad39f6eac
tcp: tso: allow deferring under reordering state

While doing experiments with reordering resilience, we found
linux senders were not able to send at full speed under reordering,
because every incoming SACK was releasing one MSS.

This patch removes the limitation, as we did for CWR state
in commit 985e1f08041 ("tcp: tso: allow CA_CWR state in
tcp_tso_should_defer()")

Neal Cardwell had a concern about limited transmit so
Yuchung conducted experiments on GFE and found nothing
worth adding an extra check on fast path :

  if (icsk->icsk_ca_state == TCP_CA_Disorder &&
      tcp_sk(sk)->reordering == sysctl_tcp_reordering)
          goto send_now;

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_output.c