AQL and the ath10k is *lovely*

same test? Do a:

sudo sysctl -w net.ipv4.tcp_ecn=1   

on the server and client?

If this frushinluggin thing is finally stable I have several patches intended to demonstrate less latency... queued up.

You are also demonstrating 100ms rrul_be, which I hope is coming from your client? (Yes, I'm happy it's stable, but...)

Quick test:

T=mt76 # and other test params
for i in 1 2 4 8 16
do
flent -l 30 --socket-stats -x --step-size=.05 --te=upload_streams=$i -t $T-$i tcp_nup
flent -l 30 --socket-stats -x --step-size=.05 --te=download_streams=$i -t $T-$i tcp_ndown
done

a packet cap at the server for the single flow tests would be good.

Or we can all declare victory, clink glasses, and take august off if @sjpacket checks in positive. Anyone going to battlemesh in september? (it's in rome). I'm buying the first round....

Nope, sadly normally it's like this:

192.168.1.1       : [53], 64 bytes, 3.10 ms (3.48 avg, 0% loss)
fd57:11da:b11c::1 : [53], 64 bytes, 2.72 ms (3.90 avg, 0% loss)
192.168.1.1       : [54], 64 bytes, 3.28 ms (3.47 avg, 0% loss)
fd57:11da:b11c::1 : [54], 64 bytes, 2.86 ms (3.88 avg, 0% loss)
192.168.1.1       : [55], 64 bytes, 3.12 ms (3.47 avg, 0% loss)
fd57:11da:b11c::1 : [55], 64 bytes, 3.04 ms (3.87 avg, 0% loss)
192.168.1.1       : [56], 64 bytes, 3.16 ms (3.46 avg, 0% loss)
fd57:11da:b11c::1 : [56], 64 bytes, 2.75 ms (3.85 avg, 0% loss)
192.168.1.1       : [57], 64 bytes, 3.16 ms (3.46 avg, 0% loss)
fd57:11da:b11c::1 : [57], 64 bytes, 3.00 ms (3.83 avg, 0% loss)
192.168.1.1       : [58], 64 bytes, 3.59 ms (3.46 avg, 0% loss)
fd57:11da:b11c::1 : [58], 64 bytes, 2.93 ms (3.82 avg, 0% loss)
192.168.1.1       : [59], 64 bytes, 2.90 ms (3.45 avg, 0% loss)
fd57:11da:b11c::1 : [59], 64 bytes, 3.12 ms (3.81 avg, 0% loss)
192.168.1.1       : [60], 64 bytes, 2.98 ms (3.44 avg, 0% loss)
fd57:11da:b11c::1 : [60], 64 bytes, 2.86 ms (3.79 avg, 0% loss)
192.168.1.1       : [61], 64 bytes, 2.87 ms (3.43 avg, 0% loss)
fd57:11da:b11c::1 : [61], 64 bytes, 3.50 ms (3.79 avg, 0% loss)
192.168.1.1       : [62], 64 bytes, 2.80 ms (3.42 avg, 0% loss)
fd57:11da:b11c::1 : [62], 64 bytes, 2.80 ms (3.77 avg, 0% loss)
192.168.1.1       : [63], 64 bytes, 2.98 ms (3.41 avg, 0% loss)
fd57:11da:b11c::1 : [63], 64 bytes, 2.21 ms (3.75 avg, 0% loss)
192.168.1.1       : [64], 64 bytes, 2.94 ms (3.41 avg, 0% loss)
fd57:11da:b11c::1 : [64], 64 bytes, 2.34 ms (3.72 avg, 0% loss)
192.168.1.1       : [65], 64 bytes, 3.02 ms (3.40 avg, 0% loss)
fd57:11da:b11c::1 : [65], 64 bytes, 2.86 ms (3.71 avg, 0% loss)
192.168.1.1       : [66], 64 bytes, 3.58 ms (3.40 avg, 0% loss)
fd57:11da:b11c::1 : [66], 64 bytes, 2.86 ms (3.70 avg, 0% loss)
192.168.1.1       : [67], 64 bytes, 3.01 ms (3.40 avg, 0% loss)
fd57:11da:b11c::1 : [67], 64 bytes, 2.93 ms (3.69 avg, 0% loss)
192.168.1.1       : [68], 64 bytes, 3.01 ms (3.39 avg, 0% loss)
fd57:11da:b11c::1 : [68], 64 bytes, 2.82 ms (3.67 avg, 0% loss)
192.168.1.1       : [69], 64 bytes, 2.70 ms (3.38 avg, 0% loss)
fd57:11da:b11c::1 : [69], 64 bytes, 3.00 ms (3.66 avg, 0% loss)
[...]
192.168.1.1       : xmt/rcv/%loss = 70/70/0%, min/avg/max = 2.33/3.38/19.9
fd57:11da:b11c::1 : xmt/rcv/%loss = 70/70/0%, min/avg/max = 2.21/3.66/44.5

It goes up to 80-100 ms during bi-directional load. ECN was on in client's configuration. I'll perform a new test with it on in the server/router and perform the 5 rounds you request too.

Hello @dtaht,

I am not sure yet, but initial testing looks promising! I hoping to test this week with more macOS clients, around 30 clients. I only had 4 clients available to test for the past few days.

I will keep you posted on how it goes this week.

thx thx thx thx thx thx thx thx! Virtual beer all round.

1 Like

next step if anyone has energy left

5 Likes

Hey, @dtaht,

As per your request, see below (please ignore the cake_layer4 reference, forgot to remove it from the title).

You can find the packet capture in the shared folder with all the data from the tests, below you can see the console output, just in case is somehow useful.

Command:

T="v22.03-rc6 mt76 WLAN ECN-on loc servs off"; for i in 1 2 4 8 16; do flent -l 30 --socket-stats -x --step-size=.05 --te=upload_streams=$i -H openwrt.lan -t tcp_nup-$i-threads-$T tcp_nup; flent -l 30 --socket-stats -x --step-size=.05 --te=download_streams=$i -H openwrt.lan -t tcp_ndown-$i-threads-$T tcp_ndown; done

Results:

Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_nup test. Expected run time: 40 seconds.
Data file written to ./tcp_nup-2022-08-02T193108.679003.tcp_nup-1-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_nup test run from 2022-08-02 19:31:08.679003
  Title: 'tcp_nup-1-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                                             avg       median          # data pts
 Ping (ms) ICMP                   :        28.47        32.70 ms              799
 TCP upload avg                   :       585.62          N/A Mbits/s         799
 TCP upload sum                   :       585.62          N/A Mbits/s         799
 TCP upload::1                    :       585.62       584.35 Mbits/s         799
 TCP upload::1::tcp_cwnd          :      1904.41      1853.00                 511
 TCP upload::1::tcp_delivery_rate :       544.27       542.11                 511
 TCP upload::1::tcp_pacing_rate   :       868.92       813.95                 511
 TCP upload::1::tcp_rtt           :        32.26        32.25                 510
 TCP upload::1::tcp_rtt_var       :         0.70         0.18                 510
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_ndown test. Expected run time: 40 seconds.
Data file written to ./tcp_ndown-2022-08-02T193154.022651.tcp_ndown-1-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_ndown test run from 2022-08-02 19:31:54.022651
  Title: 'tcp_ndown-1-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                             avg       median          # data pts
 Ping (ms) ICMP   :        22.20        23.90 ms              800
 TCP download avg :       440.08          N/A Mbits/s         800
 TCP download sum :       440.08          N/A Mbits/s         800
 TCP download::1  :       440.08       439.85 Mbits/s         800
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_nup test. Expected run time: 40 seconds.
Data file written to ./tcp_nup-2022-08-02T193239.365757.tcp_nup-2-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_nup test run from 2022-08-02 19:32:39.365757
  Title: 'tcp_nup-2-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                                             avg       median          # data pts
 Ping (ms) ICMP                   :        27.90        32.10 ms              799
 TCP upload avg                   :       308.83          N/A Mbits/s         799
 TCP upload sum                   :       617.66          N/A Mbits/s         799
 TCP upload::1                    :       362.88       363.68 Mbits/s         799
 TCP upload::1::tcp_cwnd          :      1187.61      1229.50                 514
 TCP upload::1::tcp_delivery_rate :       338.41       343.73                 514
 TCP upload::1::tcp_pacing_rate   :       543.64       505.55                 514
 TCP upload::1::tcp_rtt           :        32.29        32.94                 514
 TCP upload::1::tcp_rtt_var       :         0.56         0.24                 514
 TCP upload::2                    :       254.78       255.34 Mbits/s         799
 TCP upload::2::tcp_cwnd          :       837.07       883.50                 514
 TCP upload::2::tcp_delivery_rate :       237.87       241.67                 514
 TCP upload::2::tcp_pacing_rate   :       376.14       355.31                 514
 TCP upload::2::tcp_rtt           :        32.56        33.28                 514
 TCP upload::2::tcp_rtt_var       :         0.71         0.38                 514
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_ndown test. Expected run time: 40 seconds.
Data file written to ./tcp_ndown-2022-08-02T193324.821571.tcp_ndown-2-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_ndown test run from 2022-08-02 19:33:24.821571
  Title: 'tcp_ndown-2-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                             avg       median          # data pts
 Ping (ms) ICMP   :        20.60        22.75 ms              800
 TCP download avg :       240.18          N/A Mbits/s         800
 TCP download sum :       480.36          N/A Mbits/s         800
 TCP download::1  :       227.81       235.93 Mbits/s         800
 TCP download::2  :       252.55       250.43 Mbits/s         800
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_nup test. Expected run time: 40 seconds.
Data file written to ./tcp_nup-2022-08-02T193410.266754.tcp_nup-4-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_nup test run from 2022-08-02 19:34:10.266754
  Title: 'tcp_nup-4-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                                             avg       median          # data pts
 Ping (ms) ICMP                   :        28.66        33.00 ms              797
 TCP upload avg                   :       158.40          N/A Mbits/s         799
 TCP upload sum                   :       633.60          N/A Mbits/s         799
 TCP upload::1                    :       262.82       261.44 Mbits/s         799
 TCP upload::1::tcp_cwnd          :       885.56       890.00                 506
 TCP upload::1::tcp_delivery_rate :       244.02       244.62                 506
 TCP upload::1::tcp_pacing_rate   :       387.62       356.85                 506
 TCP upload::1::tcp_rtt           :        33.78        33.81                 505
 TCP upload::1::tcp_rtt_var       :         0.71         0.35                 505
 TCP upload::2                    :        95.76        98.15 Mbits/s         799
 TCP upload::2::tcp_cwnd          :       326.41       319.00                 506
 TCP upload::2::tcp_delivery_rate :        89.96        90.47                 506
 TCP upload::2::tcp_pacing_rate   :       138.57       132.29                 506
 TCP upload::2::tcp_rtt           :        34.28        34.43                 506
 TCP upload::2::tcp_rtt_var       :         1.25         0.87                 506
 TCP upload::3                    :       169.55       170.97 Mbits/s         799
 TCP upload::3::tcp_cwnd          :       579.42       595.00                 506
 TCP upload::3::tcp_delivery_rate :       158.53       161.07                 506
 TCP upload::3::tcp_pacing_rate   :       247.71       230.77                 506
 TCP upload::3::tcp_rtt           :        34.38        34.28                 506
 TCP upload::3::tcp_rtt_var       :         0.79         0.46                 506
 TCP upload::4                    :       105.47       106.32 Mbits/s         799
 TCP upload::4::tcp_cwnd          :       361.49       347.00                 507
 TCP upload::4::tcp_delivery_rate :        99.02       100.19                 507
 TCP upload::4::tcp_pacing_rate   :       153.41       144.38                 507
 TCP upload::4::tcp_rtt           :        34.49        34.67                 507
 TCP upload::4::tcp_rtt_var       :         1.24         0.87                 507
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_ndown test. Expected run time: 40 seconds.
Data file written to ./tcp_ndown-2022-08-02T193455.945420.tcp_ndown-4-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_ndown test run from 2022-08-02 19:34:55.945420
  Title: 'tcp_ndown-4-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                             avg       median          # data pts
 Ping (ms) ICMP   :        21.70        23.55 ms              799
 TCP download avg :       115.38          N/A Mbits/s         799
 TCP download sum :       461.52          N/A Mbits/s         799
 TCP download::1  :       110.48       111.86 Mbits/s         799
 TCP download::2  :       119.35       118.37 Mbits/s         799
 TCP download::3  :       119.62       118.80 Mbits/s         799
 TCP download::4  :       112.07       114.26 Mbits/s         799
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_nup test. Expected run time: 40 seconds.
Data file written to ./tcp_nup-2022-08-02T193541.605603.tcp_nup-8-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_nup test run from 2022-08-02 19:35:41.605603
  Title: 'tcp_nup-8-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                                             avg       median          # data pts
 Ping (ms) ICMP                   :        38.98        44.95 ms              798
 TCP upload avg                   :        71.24          N/A Mbits/s         800
 TCP upload sum                   :       569.91          N/A Mbits/s         800
 TCP upload::1                    :        54.49        57.45 Mbits/s         800
 TCP upload::1::tcp_cwnd          :       247.44       261.00                 503
 TCP upload::1::tcp_delivery_rate :        51.56        51.61                 503
 TCP upload::1::tcp_pacing_rate   :        73.68        72.68                 503
 TCP upload::1::tcp_rtt           :        47.63        48.10                 502
 TCP upload::1::tcp_rtt_var       :         1.92         1.62                 502
 TCP upload::2                    :        71.79        70.89 Mbits/s         800
 TCP upload::2::tcp_cwnd          :       321.01       324.00                 503
 TCP upload::2::tcp_delivery_rate :        67.53        67.74                 503
 TCP upload::2::tcp_pacing_rate   :        97.52        92.74                 503
 TCP upload::2::tcp_rtt           :        47.30        47.71                 501
 TCP upload::2::tcp_rtt_var       :         1.67         1.35                 501
 TCP upload::3                    :       128.27       130.44 Mbits/s         800
 TCP upload::3::tcp_cwnd          :       570.46       559.00                 503
 TCP upload::3::tcp_delivery_rate :       121.79       119.15                 503
 TCP upload::3::tcp_pacing_rate   :       176.62       170.56                 503
 TCP upload::3::tcp_rtt           :        47.09        47.47                 503
 TCP upload::3::tcp_rtt_var       :         1.20         0.86                 503
 TCP upload::4                    :        68.24        68.64 Mbits/s         800
 TCP upload::4::tcp_cwnd          :       307.32       315.00                 502
 TCP upload::4::tcp_delivery_rate :        65.02        66.30                 502
 TCP upload::4::tcp_pacing_rate   :        92.76        88.77                 502
 TCP upload::4::tcp_rtt           :        47.38        47.87                 501
 TCP upload::4::tcp_rtt_var       :         1.64         1.29                 501
 TCP upload::5                    :        69.93        68.79 Mbits/s         800
 TCP upload::5::tcp_cwnd          :       318.24       321.00                 503
 TCP upload::5::tcp_delivery_rate :        66.33        66.76                 503
 TCP upload::5::tcp_pacing_rate   :        95.73        90.07                 503
 TCP upload::5::tcp_rtt           :        47.95        48.62                 503
 TCP upload::5::tcp_rtt_var       :         1.68         1.39                 503
 TCP upload::6                    :        54.22        57.73 Mbits/s         800
 TCP upload::6::tcp_cwnd          :       246.80       262.00                 503
 TCP upload::6::tcp_delivery_rate :        51.42        51.52                 503
 TCP upload::6::tcp_pacing_rate   :        73.10        72.51                 503
 TCP upload::6::tcp_rtt           :        47.77        48.42                 500
 TCP upload::6::tcp_rtt_var       :         2.00         1.71                 500
 TCP upload::7                    :        59.84        60.31 Mbits/s         800
 TCP upload::7::tcp_cwnd          :       271.14       280.00                 502
 TCP upload::7::tcp_delivery_rate :        56.57        56.91                 502
 TCP upload::7::tcp_pacing_rate   :        81.25        78.87                 502
 TCP upload::7::tcp_rtt           :        47.49        48.05                 500
 TCP upload::7::tcp_rtt_var       :         1.88         1.60                 500
 TCP upload::8                    :        63.13        63.43 Mbits/s         800
 TCP upload::8::tcp_cwnd          :       284.38       293.00                 503
 TCP upload::8::tcp_delivery_rate :        59.79        60.75                 503
 TCP upload::8::tcp_pacing_rate   :        85.70        82.64                 503
 TCP upload::8::tcp_rtt           :        47.30        47.65                 502
 TCP upload::8::tcp_rtt_var       :         1.67         1.30                 502
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_ndown test. Expected run time: 40 seconds.
Data file written to ./tcp_ndown-2022-08-02T193627.687619.tcp_ndown-8-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_ndown test run from 2022-08-02 19:36:27.687619
  Title: 'tcp_ndown-8-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                             avg       median          # data pts
 Ping (ms) ICMP   :        22.60        25.35 ms              800
 TCP download avg :        55.62          N/A Mbits/s         800
 TCP download sum :       445.00          N/A Mbits/s         800
 TCP download::1  :        55.89        54.35 Mbits/s         800
 TCP download::2  :        54.13        54.49 Mbits/s         800
 TCP download::3  :        55.09        55.05 Mbits/s         800
 TCP download::4  :        56.75        55.62 Mbits/s         800
 TCP download::5  :        56.55        55.50 Mbits/s         800
 TCP download::6  :        55.32        55.41 Mbits/s         800
 TCP download::7  :        55.76        55.47 Mbits/s         800
 TCP download::8  :        55.51        55.00 Mbits/s         800
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_nup test. Expected run time: 40 seconds.
Data file written to ./tcp_nup-2022-08-02T193713.762126.tcp_nup-16-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_nup test run from 2022-08-02 19:37:13.762126
  Title: 'tcp_nup-16-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                                              avg       median          # data pts
 Ping (ms) ICMP                    :        33.74        37.80 ms              793
 TCP upload avg                    :        36.01          N/A Mbits/s         799
 TCP upload sum                    :       576.12          N/A Mbits/s         799
 TCP upload::1                     :        28.76        30.12 Mbits/s         799
 TCP upload::10                    :        25.67        27.46 Mbits/s         799
 TCP upload::10::tcp_cwnd          :        95.99       100.00                 503
 TCP upload::10::tcp_delivery_rate :        23.65        23.78                 503
 TCP upload::10::tcp_pacing_rate   :        35.05        34.67                 503
 TCP upload::10::tcp_rtt           :        40.42        39.64                 501
 TCP upload::10::tcp_rtt_var       :         2.84         2.46                 501
 TCP upload::11                    :        30.61        31.49 Mbits/s         799
 TCP upload::11::tcp_cwnd          :       116.69       117.00                 503
 TCP upload::11::tcp_delivery_rate :        28.25        28.41                 503
 TCP upload::11::tcp_pacing_rate   :        41.84        40.31                 503
 TCP upload::11::tcp_rtt           :        40.86        40.20                 503
 TCP upload::11::tcp_rtt_var       :         2.59         2.26                 503
 TCP upload::12                    :        26.15        27.70 Mbits/s         799
 TCP upload::12::tcp_cwnd          :        98.47       103.00                 503
 TCP upload::12::tcp_delivery_rate :        24.18        24.54                 502
 TCP upload::12::tcp_pacing_rate   :        35.62        35.66                 502
 TCP upload::12::tcp_rtt           :        40.69        40.01                 502
 TCP upload::12::tcp_rtt_var       :         2.88         2.53                 502
 TCP upload::13                    :        38.23        38.13 Mbits/s         799
 TCP upload::13::tcp_cwnd          :       146.37       143.00                 505
 TCP upload::13::tcp_delivery_rate :        35.26        35.29                 505
 TCP upload::13::tcp_pacing_rate   :        52.39        49.84                 505
 TCP upload::13::tcp_rtt           :        40.50        39.60                 505
 TCP upload::13::tcp_rtt_var       :         2.52         2.17                 505
 TCP upload::14                    :        26.64        28.09 Mbits/s         799
 TCP upload::14::tcp_cwnd          :       100.03       103.00                 503
 TCP upload::14::tcp_delivery_rate :        24.68        24.71                 502
 TCP upload::14::tcp_pacing_rate   :        36.28        35.89                 502
 TCP upload::14::tcp_rtt           :        40.63        39.67                 501
 TCP upload::14::tcp_rtt_var       :         2.76         2.31                 501
 TCP upload::15                    :        35.16        35.40 Mbits/s         799
 TCP upload::15::tcp_cwnd          :       133.41       132.00                 504
 TCP upload::15::tcp_delivery_rate :        32.62        33.13                 503
 TCP upload::15::tcp_pacing_rate   :        47.86        45.96                 504
 TCP upload::15::tcp_rtt           :        40.38        39.77                 503
 TCP upload::15::tcp_rtt_var       :         2.64         2.37                 503
 TCP upload::16                    :        34.06        34.34 Mbits/s         799
 TCP upload::16::tcp_cwnd          :       129.24       129.00                 503
 TCP upload::16::tcp_delivery_rate :        31.59        32.07                 502
 TCP upload::16::tcp_pacing_rate   :        46.51        44.67                 502
 TCP upload::16::tcp_rtt           :        40.54        39.85                 501
 TCP upload::16::tcp_rtt_var       :         2.61         2.33                 501
 TCP upload::1::tcp_cwnd           :       108.21       110.00                 503
 TCP upload::1::tcp_delivery_rate  :        26.59        26.75                 502
 TCP upload::1::tcp_pacing_rate    :        39.14        38.29                 503
 TCP upload::1::tcp_rtt            :        40.40        39.77                 501
 TCP upload::1::tcp_rtt_var        :         2.71         2.36                 501
 TCP upload::2                     :        29.44        30.33 Mbits/s         799
 TCP upload::2::tcp_cwnd           :       111.36       113.00                 502
 TCP upload::2::tcp_delivery_rate  :        27.25        27.54                 501
 TCP upload::2::tcp_pacing_rate    :        40.09        39.04                 502
 TCP upload::2::tcp_rtt            :        40.64        40.07                 501
 TCP upload::2::tcp_rtt_var        :         2.68         2.26                 501
 TCP upload::3                     :        28.90        30.49 Mbits/s         799
 TCP upload::3::tcp_cwnd           :       109.48       111.00                 503
 TCP upload::3::tcp_delivery_rate  :        26.71        26.68                 503
 TCP upload::3::tcp_pacing_rate    :        39.61        38.32                 503
 TCP upload::3::tcp_rtt            :        40.76        40.01                 501
 TCP upload::3::tcp_rtt_var        :         2.62         2.36                 501
 TCP upload::4                     :        45.42        45.24 Mbits/s         799
 TCP upload::4::tcp_cwnd           :       174.23       163.50                 504
 TCP upload::4::tcp_delivery_rate  :        42.12        41.87                 504
 TCP upload::4::tcp_pacing_rate    :        62.46        60.10                 504
 TCP upload::4::tcp_rtt            :        40.19        39.41                 504
 TCP upload::4::tcp_rtt_var        :         2.31         2.05                 504
 TCP upload::5                     :        68.95        72.51 Mbits/s         799
 TCP upload::5::tcp_cwnd           :       265.91       243.00                 506
 TCP upload::5::tcp_delivery_rate  :        64.11        60.32                 505
 TCP upload::5::tcp_pacing_rate    :        96.20        89.92                 505
 TCP upload::5::tcp_rtt            :        39.85        39.09                 504
 TCP upload::5::tcp_rtt_var        :         2.09         1.78                 504
 TCP upload::6                     :        49.95        49.82 Mbits/s         799
 TCP upload::6::tcp_cwnd           :       191.41       177.50                 506
 TCP upload::6::tcp_delivery_rate  :        46.30        44.20                 506
 TCP upload::6::tcp_pacing_rate    :        69.20        64.26                 506
 TCP upload::6::tcp_rtt            :        40.01        39.26                 503
 TCP upload::6::tcp_rtt_var        :         2.31         2.00                 503
 TCP upload::7                     :        28.85        29.50 Mbits/s         799
 TCP upload::7::tcp_cwnd           :       109.07       111.00                 503
 TCP upload::7::tcp_delivery_rate  :        26.59        26.83                 502
 TCP upload::7::tcp_pacing_rate    :        39.21        38.22                 503
 TCP upload::7::tcp_rtt            :        40.70        40.26                 503
 TCP upload::7::tcp_rtt_var        :         2.75         2.36                 503
 TCP upload::8                     :        34.91        34.44 Mbits/s         799
 TCP upload::8::tcp_cwnd           :       132.03       130.00                 505
 TCP upload::8::tcp_delivery_rate  :        32.42        32.44                 504
 TCP upload::8::tcp_pacing_rate    :        47.75        45.46                 504
 TCP upload::8::tcp_rtt            :        40.42        39.99                 504
 TCP upload::8::tcp_rtt_var        :         2.51         2.21                 504
 TCP upload::9                     :        44.42        44.79 Mbits/s         799
 TCP upload::9::tcp_cwnd           :       170.34       159.00                 505
 TCP upload::9::tcp_delivery_rate  :        41.23        41.07                 505
 TCP upload::9::tcp_pacing_rate    :        61.27        59.05                 505
 TCP upload::9::tcp_rtt            :        40.13        39.45                 504
 TCP upload::9::tcp_rtt_var        :         2.39         2.03                 504
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_ndown test. Expected run time: 40 seconds.
Data file written to ./tcp_ndown-2022-08-02T193801.436883.tcp_ndown-16-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_ndown test run from 2022-08-02 19:38:01.436883
  Title: 'tcp_ndown-16-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                             avg       median          # data pts
 Ping (ms) ICMP   :        22.90        25.70 ms              800
 TCP download avg :        29.42          N/A Mbits/s         800
 TCP download sum :       470.72          N/A Mbits/s         800
 TCP download::1  :        29.29        29.59 Mbits/s         800
 TCP download::10 :        29.27        29.73 Mbits/s         800
 TCP download::11 :        29.56        30.11 Mbits/s         800
 TCP download::12 :        30.02        30.02 Mbits/s         800
 TCP download::13 :        29.16        29.44 Mbits/s         800
 TCP download::14 :        29.72        29.89 Mbits/s         800
 TCP download::15 :        28.78        29.32 Mbits/s         800
 TCP download::16 :        29.20        29.60 Mbits/s         800
 TCP download::2  :        29.85        30.07 Mbits/s         800
 TCP download::3  :        29.01        29.60 Mbits/s         800
 TCP download::4  :        29.61        29.89 Mbits/s         800
 TCP download::5  :        28.98        29.43 Mbits/s         800
 TCP download::6  :        29.02        29.46 Mbits/s         800
 TCP download::7  :        29.71        29.91 Mbits/s         800
 TCP download::8  :        30.30        30.03 Mbits/s         800
 TCP download::9  :        29.24        29.66 Mbits/s         800

Link to data, including packet capture for the one-threaded up and down tests:

Update: I forgot to add:
image

PS. It will be fantastic to meet you all in person in Italy, but I guess that's not on the table for me currently.

thx. 30ms at the median was what I was aiming for (on another chipset entirely), all those years ago.

OSX (?) at this range is doing slightly worse. I wonder what distance will do to this.

It is good to see no degredation in throughput as you add flows. So we are not running out of cpu that way...

But the difference in throughput about 470 vs about 600 between down and up could be any of a number of things - inefficient txop packing, beamforming, retries, signal strength (rssi), minstrel bandwidth probes, but not (probably) the phase of the moon.

This (2016) set of benchmarks was between an osx and linux station vs the ap -> server, and in general the scheduler should force less latency than a single station test.

Honestly, I don't know what it can be. It's been like this for ever. I'm starting to think it has to do with the APs. If I connect my laptop using an USB dongle to another AP which connects to the main AP as a client, I can see the same difference between up and down. It's like AP favors downloading to itself vs uploading to a client. Some more configuration params, hope it helps.

1 Like

Are the wifi lag/stall issues for R7800 fixed in 22.03.0-rc6? What about porting the fixes to 21.02.x? I lost track where we are, lots of discussion in this thread. Thanks for catching me up!

1 Like

@wired

Yes, no more lag/stall issue for R7800 in 22.03.0-rc6.

Now give yourself the challenge to persuade @nbd to commit the same fixes to 21.02.x so the next 21.02.4 release will be golden again.

That would also be a great consolation prize for people running NSS image with PPPoE WAN. PPPoE/NSS is completely broken in 22.03 and Master (both on kernel 5.10 for R7800), so the only way to get NSS acceleration for PPPoE WAN is to revert back to 21.02 (kernel 5.4). But there you are with laggy WIFI issues. It's like being a little kitten trapped from both ends by 2 raccoon comrades-in-crime.

3 Likes

Thank you. Now, is the wifi performance better with these patches than it was in 21.02.1 or am I asking for too much? :slight_smile:

Yes, WIFI in 22.03.0-RC6 and current Master work as well as 21.02.1 and maybe even better.

2 Likes

Depends for who... I didn't notice any major differences in speed or access times - I'd even be inclined to say that speeds were better on 21.02 - especially on longer distances (on ipq4018).

One of the things we've been doing semi-successfully is adding more rigor to the tests, and retaining historical data, so we can better compare "improvements" going forward. Right now I see too much latency compared to the original (2016) ath9k effort, and don't have any good data on multi-station performance with the fixes we've landed to date. I think the

tx_queue_data2_burst=2.0

(and 3) AP changes need to be tested on more hw in particular, which will improve throughput from the AP in contended scenarios. Two patches starting at: Reducing multiplexing latencies still further in wifi - #10 by amteza have not made it into rc6, but are just scripts....

So my hope would be for all of us, to somehow, going forward, to not be "inclined" to think things have got worse or better, but to actually know. :slight_smile:

7 Likes

We were not talking about lagging that could only be observed when running tests with tools like flent etc. The lagging problem in 21.02.2, 21.02.3, 22.03.0-RC5 (and earlier) was so severe that online meetings (WebEx, Zoom etc.) or online games appeared to be frozen for a few minutes (yes minutes!) when the lagging condition surfaced, to the point of having an unusable network. There were several different culprits that might trigger such condition, but one of the well-known culprits (as reported by many people, including me) was due to some WIFI client (e.g. phone etc.) leaving the home when these online activities were happening.

1 Like

so far as I understand the walkaway bug was resolved by this: AQL and the ath10k is *lovely* - #780 by Lynx

we weren't so much talking about "lagging" but "halting" in that case.

The very first fix that cured that lagging/halting issue was this one:

https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=aab535d2bbc414aecde5770152e7da6690462b9a

"mac80211: add airtime fairness improvements

This reverts the airtime scheduler back from the virtual-time based schedulerto the deficit round robin scheduler implementation.
This reduces burstiness and improves fairness by improving interaction with AQL."
1 Like

I am under the impression that was un-reverted with the true fix being the multicast fix. ?

Also, I am pedantic - "lag" to me means events measured in ms. "halting" means events measured in 100s of ms.

1 Like

That fix was only for people using multicast (e.g. enabling uPnP) in their WIFI network. The horrible walkaway bug had nothing to do with multicast.

@nbd pretty please ...

1 Like