diff options
author | Eric Dumazet <edumazet@google.com> | 2021-03-11 12:35:04 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-03-11 18:35:31 -0800 |
commit | f4dae54e486d528d4dd98df116e7a522bbf12667 (patch) | |
tree | 513a55d017f0e693e19f60f325ee82bf2cda5ccb /net/ipv4/tcp_input.c | |
parent | 8176f8c0f095c9df44994a33f19b55e7c847df7f (diff) |
tcp: plug skb_still_in_host_queue() to TSQ
Jakub and Neil reported an increase of RTO timers whenever
TX completions are delayed a bit more (by increasing
NIC TX coalescing parameters)
Main issue is that TCP stack has a logic preventing a packet
being retransmit if the prior clone has not yet been
orphaned or freed.
This logic came with commit 1f3279ae0c13 ("tcp: avoid
retransmits of TCP packets hanging in host queues")
Thankfully, in the case skb_still_in_host_queue() detects
the initial clone is still in flight, it can use TSQ logic
that will eventually retry later, at the moment the clone
is freed or orphaned.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Neil Spring <ntspring@fb.com>
Reported-by: Jakub Kicinski <kuba@kernel.org>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_input.c')
0 files changed, 0 insertions, 0 deletions