[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Tue, 2 Mar 2021 19:01:36 +0100
From: Eric Dumazet <edumazet@...gle.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: David Miller <davem@...emloft.net>,
netdev <netdev@...r.kernel.org>,
kernel-team <kernel-team@...com>, Neil Spring <ntspring@...com>
Subject: Re: [PATCH net-next v2] tcp: make TCP Fast Open retransmission ignore
Tx status
On Tue, Mar 2, 2021 at 7:00 PM Jakub Kicinski <kuba@...nel.org> wrote:
>
> On Tue, 2 Mar 2021 09:52:59 -0800 Jakub Kicinski wrote:
> > When receiver does not accept TCP Fast Open it will only ack
> > the SYN, and not the data. We detect this and immediately queue
> > the data for (re)transmission in tcp_rcv_fastopen_synack().
> >
> > In DC networks with very low RTT and without RFS the SYN-ACK
> > may arrive before NIC driver reported Tx completion on
> > the original SYN. In which case skb_still_in_host_queue()
> > returns true and sender will need to wait for the retransmission
> > timer to fire milliseconds later.
> >
> > Work around this issue by passing negative segment count to
> > __tcp_retransmit_skb() as suggested by Eric.
> >
> > The condition triggers more often when Tx coalescing is configured
> > higher than Rx coalescing on the underlying NIC, but it does happen
> > even with relatively moderate and even settings (e.g. 33us).
> >
> > Note that DC machines usually run configured to always accept
> > TCP FastOpen data so the problem may not be very common.
> >
> > Suggested-by: Eric Dumazet <edumazet@...gle.com>
> > Signed-off-by: Neil Spring <ntspring@...com>
> > Signed-off-by: Jakub Kicinski <kuba@...nel.org>
>
> .. and now I realized net-next is closed. I'll keep an eye on patchwork
> and resend as needed, sorry.
Ah, just open it ;)
Powered by blists - more mailing lists