[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140224.191423.1857998272406050896.davem@davemloft.net>
Date: Mon, 24 Feb 2014 19:14:23 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: netdev@...r.kernel.org, ycheng@...gle.com, ncardwell@...gle.com,
nanditad@...gle.com, vanj@...gle.com
Subject: Re: [PATCH v2] tcp: reduce the bloat caused by
tcp_is_cwnd_limited()
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Sat, 22 Feb 2014 22:25:57 -0800
> From: Eric Dumazet <edumazet@...gle.com>
>
> tcp_is_cwnd_limited() allows GSO/TSO enabled flows to increase
> their cwnd to allow a full size (64KB) TSO packet to be sent.
>
> Non GSO flows only allow an extra room of 3 MSS.
>
> For most flows with a BDP below 10 MSS, this results in a bloat
> of cwnd reaching 90, and an inflate of RTT.
>
> Thanks to TSO auto sizing, we can restrict the bloat to the number
> of MSS contained in a TSO packet (tp->xmit_size_goal_segs), to keep
> original intent without performance impact.
>
> Because we keep cwnd small, it helps to keep TSO packet size to their
> optimal value.
>
> Example for a 10Mbit flow, with low TCP Small queue limits (no more than
> 2 skb in qdisc/device tx ring)
>
> Before patch :
>
> lpk51:~# ./ss -i dst lpk52:44862 | grep cwnd
> cubic wscale:6,6 rto:215 rtt:15.875/2.5 mss:1448 cwnd:96
> ssthresh:96
> send 70.1Mbps unacked:14 rcv_space:29200
>
> After patch :
>
> lpk51:~# ./ss -i dst lpk52:52916 | grep cwnd
> cubic wscale:6,6 rto:206 rtt:5.206/0.036 mss:1448 cwnd:15
> ssthresh:14
> send 33.4Mbps unacked:4 rcv_space:29200
>
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
Applied, thanks Eric.
--
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