Comment 45 for bug 1670041

Revision history for this message
Dmitrii Shcherbakov (dmitriis) wrote :

I've built a 4.13-rc1 (5771a8c08880) kernel and have done some laptop (4.13, bbr) <-> AP <-> laptop (4.4 cubic) tests. Not sure about the AP and there is a fair amount of wireless devices on the network I was connected to. Most of them have Cubic congestion control but I am not sure how fair they shared bandwidth.

There are also 2 tests with one of the public iperf3 servers from this list https://iperf.fr/iperf-servers.php which give about the same perf results. I think the network I am now has ~60 Mbit/s cap or rate limit per client.

Cwnd seems to mostly cap at 14.1 KBytes for the first set of tests.

I will run some more tests on a faster and less congested network in 2 days with bbr.

Until then, what I see is that I can get ~ 4 times more data through with UDP.

uname -r
4.13.0-rc1

➜ linux git:(5771a8c08880) ✗ cat /proc/sys/net/ipv4/tcp_congestion_control
bbr
➜ linux git:(5771a8c08880) ✗ lsmod | grep bbr
tcp_bbr 20480 45

iperf3 -c 10.155.13.90
Connecting to host 10.155.13.90, port 5201
[ 4] local 10.155.9.186 port 37980 connected to 10.155.13.90 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 991 KBytes 8.12 Mbits/sec 1 11.3 KBytes
[ 4] 1.00-2.00 sec 938 KBytes 7.68 Mbits/sec 0 14.1 KBytes
[ 4] 2.00-3.00 sec 923 KBytes 7.56 Mbits/sec 0 11.3 KBytes
[ 4] 3.00-4.00 sec 650 KBytes 5.33 Mbits/sec 0 11.3 KBytes
[ 4] 4.00-5.00 sec 1.02 MBytes 8.56 Mbits/sec 0 11.3 KBytes
[ 4] 5.00-6.00 sec 863 KBytes 7.07 Mbits/sec 0 14.1 KBytes
[ 4] 6.00-7.00 sec 1.20 MBytes 10.1 Mbits/sec 0 14.1 KBytes
[ 4] 7.00-8.00 sec 826 KBytes 6.77 Mbits/sec 0 14.1 KBytes
[ 4] 8.00-9.00 sec 1.09 MBytes 9.12 Mbits/sec 0 11.3 KBytes
[ 4] 9.00-10.00 sec 658 KBytes 5.39 Mbits/sec 0 14.1 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 9.02 MBytes 7.57 Mbits/sec 1 sender
[ 4] 0.00-10.00 sec 8.92 MBytes 7.48 Mbits/sec receiver

iperf Done.

iperf3 -u -b 1000M -c 10.155.13.90
Connecting to host 10.155.13.90, port 5201
[ 4] local 10.155.9.186 port 44086 connected to 10.155.13.90 port 5201
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.00 sec 3.63 MBytes 30.5 Mbits/sec 465
[ 4] 1.00-2.00 sec 4.03 MBytes 33.8 Mbits/sec 516
[ 4] 2.00-3.00 sec 4.45 MBytes 37.3 Mbits/sec 569
[ 4] 3.00-4.00 sec 4.68 MBytes 39.3 Mbits/sec 599
[ 4] 4.00-5.00 sec 5.48 MBytes 45.9 Mbits/sec 701
[ 4] 5.00-6.00 sec 5.52 MBytes 46.3 Mbits/sec 707
[ 4] 6.00-7.00 sec 5.25 MBytes 44.0 Mbits/sec 672
[ 4] 7.00-8.00 sec 4.57 MBytes 38.3 Mbits/sec 585
[ 4] 8.00-9.00 sec 4.64 MBytes 38.9 Mbits/sec 594
[ 4] 9.00-10.00 sec 5.50 MBytes 46.1 Mbits/sec 704
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 47.8 MBytes 40.1 Mbits/sec 1.650 ms 26/6111 (0.43%)
[ 4] Sent 6111 datagrams

iperf Done.

iperf3 -c 10.155.13.90
Connecting to host 10.155.13.90, port 5201
[ 4] local 10.155.9.186 port 37988 connected to 10.155.13.90 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 1.18 MBytes 9.89 Mbits/sec 0 11.3 KBytes
[ 4] 1.00-2.00 sec 1.10 MBytes 9.27 Mbits/sec 0 14.1 KBytes
[ 4] 2.00-3.00 sec 1.16 MBytes 9.70 Mbits/sec 0 11.3 KBytes
[ 4] 3.00-4.00 sec 1.06 MBytes 8.91 Mbits/sec 0 14.1 KBytes
[ 4] 4.00-5.00 sec 1.05 MBytes 8.79 Mbits/sec 0 11.3 KBytes
[ 4] 5.00-6.00 sec 1.07 MBytes 8.96 Mbits/sec 0 14.1 KBytes
[ 4] 6.00-7.00 sec 922 KBytes 7.55 Mbits/sec 0 14.1 KBytes
[ 4] 7.00-8.00 sec 1.09 MBytes 9.17 Mbits/sec 0 14.1 KBytes
[ 4] 8.00-9.00 sec 1.12 MBytes 9.41 Mbits/sec 0 14.1 KBytes
[ 4] 9.00-10.00 sec 987 KBytes 8.09 Mbits/sec 0 14.1 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 10.7 MBytes 8.97 Mbits/sec 0 sender
[ 4] 0.00-10.00 sec 10.6 MBytes 8.91 Mbits/sec receiver

iperf Done.

---

➜ linux git:(5771a8c08880) ✗ iperf3 -c iperf.volia.net
Connecting to host iperf.volia.net, port 5201
[ 4] local 10.155.9.186 port 40964 connected to 82.144.193.18 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 1.32 MBytes 11.0 Mbits/sec 0 341 KBytes
[ 4] 1.00-2.00 sec 1.64 MBytes 13.7 Mbits/sec 0 416 KBytes
[ 4] 2.00-3.00 sec 1.32 MBytes 11.1 Mbits/sec 0 441 KBytes
[ 4] 3.00-4.00 sec 1.32 MBytes 11.0 Mbits/sec 0 421 KBytes
[ 4] 4.00-5.00 sec 1.27 MBytes 10.7 Mbits/sec 0 427 KBytes
[ 4] 5.00-6.00 sec 1.29 MBytes 10.8 Mbits/sec 0 413 KBytes
[ 4] 6.00-7.00 sec 1.31 MBytes 11.0 Mbits/sec 0 424 KBytes
[ 4] 7.00-8.00 sec 1.25 MBytes 10.4 Mbits/sec 0 421 KBytes
[ 4] 8.00-9.00 sec 1.25 MBytes 10.5 Mbits/sec 0 427 KBytes
[ 4] 9.00-10.00 sec 1.32 MBytes 11.1 Mbits/sec 0 424 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 13.3 MBytes 11.1 Mbits/sec 0 sender
[ 4] 0.00-10.00 sec 12.1 MBytes 10.2 Mbits/sec receiver

iperf Done.

➜ linux git:(5771a8c08880) ✗ iperf3 -u -b 1000M -c iperf.volia.net
Connecting to host iperf.volia.net, port 5201
[ 4] local 10.155.9.186 port 41183 connected to 82.144.193.18 port 5201
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.00 sec 4.97 MBytes 41.7 Mbits/sec 636
[ 4] 1.00-2.00 sec 6.14 MBytes 51.5 Mbits/sec 786
[ 4] 2.00-3.00 sec 5.84 MBytes 49.0 Mbits/sec 747
[ 4] 3.00-4.00 sec 5.25 MBytes 44.0 Mbits/sec 672
[ 4] 4.00-5.00 sec 5.49 MBytes 46.1 Mbits/sec 703
[ 4] 5.00-6.00 sec 4.76 MBytes 39.9 Mbits/sec 609
[ 4] 6.00-7.00 sec 6.55 MBytes 54.9 Mbits/sec 838
[ 4] 7.00-8.00 sec 6.67 MBytes 56.0 Mbits/sec 854
[ 4] 8.00-9.00 sec 6.51 MBytes 54.6 Mbits/sec 833
[ 4] 9.00-10.00 sec 6.55 MBytes 54.9 Mbits/sec 838
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 58.7 MBytes 49.3 Mbits/sec 1.480 ms 0/7515 (0%)
[ 4] Sent 7515 datagrams

iperf Done.