[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140522.114942.1075238998098846288.davem@davemloft.net>
Date: Thu, 22 May 2014 11:49:42 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: ncardwell@...gle.com
Cc: netdev@...r.kernel.org, edumazet@...gle.com
Subject: Re: [PATCH net-next] tcp: make cwnd-limited checks
measurement-based, and gentler
From: Neal Cardwell <ncardwell@...gle.com>
Date: Thu, 22 May 2014 10:41:08 -0400
> Experience with the recent e114a710aa50 ("tcp: fix cwnd limited
> checking to improve congestion control") has shown that there are
> common cases where that commit can cause cwnd to be much larger than
> necessary. This leads to TSO autosizing cooking skbs that are too
> large, among other things.
>
> The main problems seemed to be:
>
> (1) That commit attempted to predict the future behavior of the
> connection by looking at the write queue (if TSO or TSQ limit
> sending). That prediction sometimes overestimated future outstanding
> packets.
>
> (2) That commit always allowed cwnd to grow to twice the number of
> outstanding packets (even in congestion avoidance, where this is not
> needed).
>
> This commit improves both of these, by:
>
> (1) Switching to a measurement-based approach where we explicitly
> track the largest number of packets in flight during the past window
> ("max_packets_out"), and remember whether we were cwnd-limited at the
> moment we finished sending that flight.
>
> (2) Only allowing cwnd to grow to twice the number of outstanding
> packets ("max_packets_out") in slow start. In congestion avoidance
> mode we now only allow cwnd to grow if it was fully utilized.
>
> Signed-off-by: Neal Cardwell <ncardwell@...gle.com>
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
Looks good, applied, thanks Neal.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists