Re: [PATCH net] net: tcp: don't allocate fast clones for fastopen SYN

2021-03-04 Thread Jakub Kicinski
On Thu, 4 Mar 2021 22:26:58 +0100 Eric Dumazet wrote: > It would be nice if tun driver would have the ability to delay TX > completions by N usecs, > so that packetdrill tests could be used. > > It is probably not too hard to add such a feature. Add an ioctl to turn off the skb_orphan, queue the

Re: [PATCH net] net: tcp: don't allocate fast clones for fastopen SYN

2021-03-04 Thread Jonathan Lemon
On Thu, Mar 04, 2021 at 08:41:45PM +0100, Eric Dumazet wrote: > On Thu, Mar 4, 2021 at 8:06 PM Jakub Kicinski wrote: > > > > On Thu, 4 Mar 2021 13:51:15 +0100 Eric Dumazet wrote: > > > I think we are over thinking this really (especially if the fix needs > > > a change in core networking or driver

Re: [PATCH net] net: tcp: don't allocate fast clones for fastopen SYN

2021-03-04 Thread Jakub Kicinski
On Thu, 4 Mar 2021 13:51:15 +0100 Eric Dumazet wrote: > I think we are over thinking this really (especially if the fix needs > a change in core networking or drivers) > > We can reuse TSQ logic to have a chance to recover when the clone is > eventually freed. > This will be more generic, not only

Re: [PATCH net] net: tcp: don't allocate fast clones for fastopen SYN

2021-03-03 Thread Alexander Duyck
On Wed, Mar 3, 2021 at 4:07 PM Jakub Kicinski wrote: > > On Wed, 3 Mar 2021 13:35:53 -0800 Alexander Duyck wrote: > > On Tue, Mar 2, 2021 at 1:37 PM Eric Dumazet wrote: > > > On Tue, Mar 2, 2021 at 7:08 AM Jakub Kicinski wrote: > > > > When receiver does not accept TCP Fast Open it will only ack

Re: [PATCH net] net: tcp: don't allocate fast clones for fastopen SYN

2021-03-03 Thread Jakub Kicinski
On Wed, 3 Mar 2021 13:35:53 -0800 Alexander Duyck wrote: > On Tue, Mar 2, 2021 at 1:37 PM Eric Dumazet wrote: > > On Tue, Mar 2, 2021 at 7:08 AM 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 immediate

Re: [PATCH net] net: tcp: don't allocate fast clones for fastopen SYN

2021-03-03 Thread Alexander Duyck
On Tue, Mar 2, 2021 at 1:37 PM Eric Dumazet wrote: > > On Tue, Mar 2, 2021 at 7:08 AM 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_fastope

Re: [PATCH net] net: tcp: don't allocate fast clones for fastopen SYN

2021-03-02 Thread Jakub Kicinski
On Tue, 2 Mar 2021 12:52:14 -0800 Yuchung Cheng wrote: > On Tue, Mar 2, 2021 at 11:58 AM Eric Dumazet wrote: > > On Tue, Mar 2, 2021 at 7:08 AM 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 immediatel

Re: [PATCH net] net: tcp: don't allocate fast clones for fastopen SYN

2021-03-02 Thread Jakub Kicinski
On Tue, 2 Mar 2021 10:38:46 +0100 Eric Dumazet wrote: > On Tue, Mar 2, 2021 at 7:08 AM 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_fastope

Re: [PATCH net] net: tcp: don't allocate fast clones for fastopen SYN

2021-03-02 Thread Eric Dumazet
On Tue, Mar 2, 2021 at 7:08 AM 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

[PATCH net] net: tcp: don't allocate fast clones for fastopen SYN

2021-03-02 Thread Jakub Kicinski
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