[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADVnQy=-a4z57vD-9mHA9=oC0R3O0vtNPkpnfJQpTRt2vP2qGw@mail.gmail.com>
Date: Fri, 27 Dec 2019 12:06:05 -0500
From: Neal Cardwell <ncardwell@...gle.com>
To: Eric Dumazet <edumazet@...gle.com>
Cc: "David S . Miller" <davem@...emloft.net>,
netdev <netdev@...r.kernel.org>,
Eric Dumazet <eric.dumazet@...il.com>,
Soheil Hassas Yeganeh <soheil@...gle.com>,
Yuchung Cheng <ycheng@...gle.com>,
Martin KaFai Lau <kafai@...com>
Subject: Re: [PATCH net-next v2 5/5] tcp_cubic: make Hystart aware of pacing
On Mon, Dec 23, 2019 at 3:28 PM Eric Dumazet <edumazet@...gle.com> wrote:
>
> For years we disabled Hystart ACK train detection at Google
> because it was fooled by TCP pacing.
>
> ACK train detection uses a simple heuristic, detecting if
> we receive ACK past half the RTT, to exit slow start before
> hitting the bottleneck and experience massive drops.
>
> But pacing by design might delay packets up to RTT/2,
> so we need to tweak the Hystart logic to be aware of this
> extra delay.
>
> Tested:
> Added a 100 usec delay at receiver.
>
> Before:
> nstat -n;for f in {1..10}; do ./super_netperf 1 -H lpaa24 -l -4000000; done;nstat|egrep "Hystart"
> 9117
> 7057
> 9553
> 8300
> 7030
> 6849
> 9533
> 10126
> 6876
> 8473
> TcpExtTCPHystartTrainDetect 10 0.0
> TcpExtTCPHystartTrainCwnd 1230 0.0
>
> After :
> nstat -n;for f in {1..10}; do ./super_netperf 1 -H lpaa24 -l -4000000; done;nstat|egrep "Hystart"
> 9845
> 10103
> 10866
> 11096
> 11936
> 11487
> 11773
> 12188
> 11066
> 11894
> TcpExtTCPHystartTrainDetect 10 0.0
> TcpExtTCPHystartTrainCwnd 6462 0.0
>
> Disabling Hystart ACK Train detection gives similar numbers
>
> echo 2 >/sys/module/tcp_cubic/parameters/hystart_detect
> nstat -n;for f in {1..10}; do ./super_netperf 1 -H lpaa24 -l -4000000; done;nstat|egrep "Hystart"
> 11173
> 10954
> 12455
> 10627
> 11578
> 11583
> 11222
> 10880
> 10665
> 11366
I guess all these tests are with the "fq" qdisc with pacing enabled?
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
> ---
> net/ipv4/tcp_cubic.c | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
Thanks, Eric. The revised heuristic for paced traffic seems like a
nice improvement.
Acked-by: Neal Cardwell <ncardwell@...gle.com>
thanks,
neal
Powered by blists - more mailing lists