[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190501.115527.2091350297046816201.davem@davemloft.net>
Date: Wed, 01 May 2019 11:55:27 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: ycheng@...gle.com
Cc: edumazet@...gle.com, netdev@...r.kernel.org, ncardwell@...gle.com,
soheil@...gle.com
Subject: Re: [PATCH net-next 0/8] undo congestion window on spurious SYN or
SYNACK timeout
From: Yuchung Cheng <ycheng@...gle.com>
Date: Mon, 29 Apr 2019 15:46:12 -0700
> Linux TCP currently uses the initial congestion window of 1 packet
> if multiple SYN or SYNACK timeouts per RFC6298. However such
> timeouts are often spurious on wireless or cellular networks that
> experience high delay variances (e.g. ramping up dormant radios or
> local link retransmission). Another case is when the underlying
> path is longer than the default SYN timeout (e.g. 1 second). In
> these cases starting the transfer with a minimal congestion window
> is detrimental to the performance for short flows.
>
> One naive approach is to simply ignore SYN or SYNACK timeouts and
> always use a larger or default initial window. This approach however
> risks pouring gas to the fire when the network is already highly
> congested. This is particularly true in data center where application
> could start thousands to millions of connections over a single or
> multiple hosts resulting in high SYN drops (e.g. incast).
>
> This patch-set detects spurious SYN and SYNACK timeouts upon
> completing the handshake via the widely-supported TCP timestamp
> options. Upon such events the sender reverts to the default
> initial window to start the data transfer so it gets best of both
> worlds. This patch-set supports this feature for both active and
> passive as well as Fast Open or regular connections.
Series applied, thanks.
Powered by blists - more mailing lists