netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/7] tcp: implement rb-tree based retransmit queue
@ 2017-10-06  5:21 Eric Dumazet
  2017-10-06  5:21 ` [PATCH net-next 1/7] net: add rb_to_skb() and other rb tree helpers Eric Dumazet
                   ` (7 more replies)
  0 siblings, 8 replies; 19+ messages in thread
From: Eric Dumazet @ 2017-10-06  5:21 UTC (permalink / raw)
  To: David S . Miller, Neal Cardwell, Yuchung Cheng
  Cc: netdev, Eric Dumazet, Eric Dumazet

This patch series implement RB-tree based retransmit queue for TCP,
to better match modern BDP.

Tested:

 On receiver :
 netem on ingress : delay 150ms 200us loss 1
 GRO disabled to force stress and SACK storms.

for f in `seq 1 10`
do
 ./netperf -H lpaa6 -l30 -- -K bbr -o THROUGHPUT|tail -1
done | awk '{print $0} {sum += $0} END {printf "%7u\n",sum}'

Before patch :

323.87  351.48  339.59  338.62  306.72
204.07  304.93  291.88  202.47  176.88
->   2840

After patch:

1700.83 2207.98 2070.17 1544.26 2114.76
2124.89 1693.14 1080.91 2216.82 1299.94
->  18053

Average of 1805 Mbits istead of 284 Mbits.

Eric Dumazet (7):
  net: add rb_to_skb() and other rb tree helpers
  tcp: uninline tcp_write_queue_purge()
  tcp: tcp_tx_timestamp() cleanup
  tcp: tcp_mark_head_lost() optimization
  tcp: reduce tcp_fastretrans_alert() verbosity
  tcp: pass previous skb to tcp_shifted_skb()
  tcp: implement rb-tree based retransmit queue

 include/linux/skbuff.h  |  18 +++++
 include/net/sock.h      |   7 +-
 include/net/tcp.h       | 100 ++++++++++++--------------
 net/ipv4/tcp.c          |  63 ++++++++++++----
 net/ipv4/tcp_fastopen.c |   8 +--
 net/ipv4/tcp_input.c    | 187 ++++++++++++++++++++++++------------------------
 net/ipv4/tcp_ipv4.c     |   2 +-
 net/ipv4/tcp_output.c   | 137 +++++++++++++++++++----------------
 net/ipv4/tcp_timer.c    |  24 ++++---
 net/sched/sch_netem.c   |  14 ++--
 10 files changed, 311 insertions(+), 249 deletions(-)

-- 
2.14.2.920.gcf0c67979c-goog

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2018-02-06 17:05 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-06  5:21 [PATCH net-next 0/7] tcp: implement rb-tree based retransmit queue Eric Dumazet
2017-10-06  5:21 ` [PATCH net-next 1/7] net: add rb_to_skb() and other rb tree helpers Eric Dumazet
2017-10-06  5:21 ` [PATCH net-next 2/7] tcp: uninline tcp_write_queue_purge() Eric Dumazet
2017-10-06  5:21 ` [PATCH net-next 3/7] tcp: tcp_tx_timestamp() cleanup Eric Dumazet
2017-10-06  5:21 ` [PATCH net-next 4/7] tcp: tcp_mark_head_lost() optimization Eric Dumazet
2017-10-06  5:21 ` [PATCH net-next 5/7] tcp: reduce tcp_fastretrans_alert() verbosity Eric Dumazet
2017-10-06  5:21 ` [PATCH net-next 6/7] tcp: pass previous skb to tcp_shifted_skb() Eric Dumazet
2017-10-06  5:21 ` [PATCH net-next 7/7] tcp: implement rb-tree based retransmit queue Eric Dumazet
2017-10-06 23:31 ` [PATCH net-next 0/7] " David Miller
2018-01-21 20:52   ` Tal Gilboa
2018-01-21 23:47     ` Eric Dumazet
2018-01-24 14:42       ` Tal Gilboa
2018-01-24 15:09         ` Eric Dumazet
2018-02-06 13:51           ` Tal Gilboa
2018-02-06 14:19             ` Eric Dumazet
2018-02-06 15:22               ` David Laight
2018-02-06 15:52                 ` Eric Dumazet
2018-02-06 16:27                   ` Tal Gilboa
2018-02-06 17:05                     ` Eric Dumazet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).