[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 19 Apr 2016 17:49:50 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: David Miller <davem@...emloft.net>
Cc: edumazet@...gle.com, netdev@...r.kernel.org, ncardwell@...gle.com,
ycheng@...gle.com
Subject: Re: [PATCH net-next] tcp-tso: do not split TSO packets at
retransmit time
On Tue, 2016-04-19 at 20:36 -0400, David Miller wrote:
> From: Eric Dumazet <edumazet@...gle.com>
> Date: Mon, 18 Apr 2016 13:56:12 -0700
>
> > 1 % packet losses are common today, and at 100Gbit speeds, this
> > translates to ~80,000 losses per second. If we are unlucky and
> > first MSS of a 45-MSS TSO is lost, we are cooking 44 MSS segments
> > at rtx instead of a single 44-MSS TSO packet.
>
> I'm having trouble understanding this.
>
> If the first mss is lost, then we simply chop the 45 MSS TSO skb into
> two pieces. The first piece is a 1 MSS chunk for the retransmit, and
> the second piece is remaining 44 MSS TSO skb.
>
> I am pretty sure that is what the current stack does, and regardless
> it is certainly what I intended it to do all those years ago when I
> wrote this code. :-)
>
> The only case where I can see this patch helping is when we have to
> retransmit multi-mss chunks. And yes indeed, it might be a useful
> optimization to TSO those frames rather than sending them one MSS at a
> time.
Yeah, it looks like I got the changelog wrong. We definitely see these
1-MSS splits during retransmits all the time, and we had to change the
sch_fq flow_limit from 100 to 1000 packets to cope with that. (TCP Small
Queues does not guard TCP from sending hundred of rtx at the same time)
Powered by blists - more mailing lists