Re: [PATCH net] net: tcp: don't allocate fast clones for fastopen SYN
From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-03-04 19:08:18
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 for the SYN+data of FastOpen. Can you please test the following patch ?
#7 - Eric comes up with something much better :)
But so far doesn't seem to quite do it, I'm looking but maybe you'll
know right away (FWIW testing a v5.6 backport but I don't think TSQ
changed?):
On __tcp_retransmit_skb kretprobe:
==> Hit TFO case ret:-16 ca_state:0 skb:ffff888fdb4bac00!
First hit:
__tcp_retransmit_skb+1
tcp_rcv_state_process+2488
tcp_v6_do_rcv+405
tcp_v6_rcv+2984
ip6_protocol_deliver_rcu+180
ip6_input_finish+17
Successful hit:
__tcp_retransmit_skb+1
tcp_retransmit_skb+18
tcp_retransmit_timer+716
tcp_write_timer_handler+136
tcp_write_timer+141
call_timer_fn+43
skb:ffff888fdb4bac00 --- delay:51642us bytes_acked:1