All of lore.kernel.org
 help / color / mirror / Atom feed
* [REGRESSION, bisect]cxgb4 port failure with TSO traffic after commit 10d3be569243def8("tcp-tso: do not split TSO packets at retransmit time")
@ 2016-06-23 10:08 Arjun V.
  2016-06-23 11:51 ` Eric Dumazet
  0 siblings, 1 reply; 19+ messages in thread
From: Arjun V. @ 2016-06-23 10:08 UTC (permalink / raw)
  To: netdev
  Cc: edumazet, Hariprasad S, Casey Leedom, Kumar A S,
	Santosh Rastapur, Nirranjan Kirubaharan, davem, ycheng

Hi all, 

The following patch introduced a regression in Chelsio cxgb4 driver, causing port failure when running heavy TSO traffic:

commit 10d3be569243def8d92ac3722395ef5a59c504e6
Author: Eric Dumazet <edumazet@google.com>
Date:   Thu Apr 21 10:55:23 2016 -0700

    tcp-tso: do not split TSO packets at retransmit time

    Linux TCP stack painfully segments all TSO/GSO packets before retransmits.

    This was fine back in the days when TSO/GSO were emerging, with their
    bugs, but we believe the dark age is over.

    Keeping big packets in write queues, but also in stack traversal
    has a lot of benefits.
     - Less memory overhead, because write queues have less skbs
     - Less cpu overhead at ACK processing.
     - Better SACK processing, as lot of studies mentioned how
       awful linux was at this ;)
     - Less cpu overhead to send the rtx packets
       (IP stack traversal, netfilter traversal, drivers...)
     - Better latencies in presence of losses.
     - Smaller spikes in fq like packet schedulers, as retransmits
       are not constrained by TCP Small Queues.

    1 % packet losses are common today, and at 100Gbit speeds, this
    translates to ~80,000 losses per second.
    Losses are often correlated, and we see many retransmit events
    leading to 1-MSS train of packets, at the time hosts are already
    under stress.

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Acked-by: Yuchung Cheng <ycheng@google.com>
    Signed-off-by: David S. Miller davem@davemloft.net

When the number of TCP retransmissions are quite high, the packet length coming from stack does not seems to be proper, due to which our TSO module gets stuck. 
If I change segs back to 1 in __tcp_retransmit_skb(),  traffic is running fine. Please let us know if we are missing something.

Thanks,
Arjun.

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2016-06-29  9:26 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-23 10:08 [REGRESSION, bisect]cxgb4 port failure with TSO traffic after commit 10d3be569243def8("tcp-tso: do not split TSO packets at retransmit time") Arjun V.
2016-06-23 11:51 ` Eric Dumazet
2016-06-24 11:38   ` Arjun V.
2016-06-24 14:25     ` Eric Dumazet
2016-06-24 16:25       ` Eric Dumazet
2016-06-27  7:17         ` Arjun V
2016-06-27  8:06           ` Eric Dumazet
2016-06-27  8:59             ` Arjun V
2016-06-27  9:21               ` Eric Dumazet
2016-06-27  9:54                 ` Arjun V
2016-06-27 10:50                   ` Eric Dumazet
2016-06-27 12:46                     ` Eric Dumazet
2016-06-27 13:12                       ` Neal Cardwell
2016-06-27 13:27                         ` Eric Dumazet
2016-06-27 13:36                           ` Neal Cardwell
2016-06-27 14:13                             ` Arjun V
2016-06-27 15:38                           ` [PATCH net] tcp: do not send too big packets at retransmit time Eric Dumazet
2016-06-27 15:47                             ` Neal Cardwell
2016-06-29  9:26                             ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.