Commit f921a4a
tcp: tsq: relax tcp_small_queue_check() when rtx queue contains a single skb
In commit 75eefc6 ("tcp: tsq: add a shortcut in tcp_small_queue_check()")
we allowed to send an skb regardless of TSQ limits being hit if rtx queue
was empty or had a single skb, in order to better fill the pipe
when/if TX completions were slow.
Then later, commit 75c119a ("tcp: implement rb-tree based
retransmit queue") accidentally removed the special case for
one skb in rtx queue.
Stefan Wahren reported a regression in single TCP flow throughput
using a 100Mbit fec link, starting from commit 6546690 ("tcp: adjust
TSO packet sizes based on min_rtt"). This last commit only made the
regression more visible, because it locked the TCP flow on a particular
behavior where TSQ prevented two skbs being pushed downstream,
adding silences on the wire between each TSO packet.
Many thanks to Stefan for his invaluable help !
Fixes: 75c119a ("tcp: implement rb-tree based retransmit queue")
Link: https://lore.kernel.org/netdev/[email protected]/
Reported-by: Stefan Wahren <[email protected]>
Tested-by: Stefan Wahren <[email protected]>
Signed-off-by: Eric Dumazet <[email protected]>
Acked-by: Neal Cardwell <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>1 parent a0ca6b9 commit f921a4a
1 file changed
Lines changed: 14 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2542 | 2542 | | |
2543 | 2543 | | |
2544 | 2544 | | |
| 2545 | + | |
| 2546 | + | |
| 2547 | + | |
| 2548 | + | |
| 2549 | + | |
| 2550 | + | |
| 2551 | + | |
| 2552 | + | |
| 2553 | + | |
| 2554 | + | |
| 2555 | + | |
| 2556 | + | |
2545 | 2557 | | |
2546 | 2558 | | |
2547 | 2559 | | |
| |||
2579 | 2591 | | |
2580 | 2592 | | |
2581 | 2593 | | |
2582 | | - | |
| 2594 | + | |
2583 | 2595 | | |
2584 | 2596 | | |
2585 | 2597 | | |
2586 | 2598 | | |
2587 | | - | |
| 2599 | + | |
2588 | 2600 | | |
2589 | 2601 | | |
2590 | 2602 | | |
| |||
0 commit comments