So there a lot of different test setups i can do, but this one is pretty typical.
- Two 5g wifi clients (channel 36, 80 MHz, little to no interference from neighbors),
- "phy rates" about equal (240 mbps and 270 mbps - they are both equal at 300 mbps 3 feet from the AP and clear line of site).
- Both clients located next to each other say 15 meters from the AP and no clear line of site to the AP.
- Hostapd for the 5g phy has
airtime_mode=2
airtime_bss_weight=1
No clue if i need this or not to change the ATF weights with iw, it does not seem to matter if I have this set for hostapd or not.
- ATF weights for both clients 256.
- Individual netperfs: ~100 mbps and ~ 80 mbps.
- results below using @castiel652's patch above - but I have got similar results before trying it.
Here is the "simultaneous" netperf i.e. running netperf on both clients at the same time:
[66] $ netperf -l 60 -D 1s -H XXX.XXX.XXX.26
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to XXX.XXX.XXX.26 () port 0 AF_INET : demo
Interim result: 94.43 10^6bits/s over 1.509 seconds ending at 1644260386.157
Interim result: 98.40 10^6bits/s over 1.098 seconds ending at 1644260387.255
Interim result: 88.94 10^6bits/s over 1.107 seconds ending at 1644260388.362
Interim result: 91.47 10^6bits/s over 1.045 seconds ending at 1644260389.406
Interim result: 91.46 10^6bits/s over 1.128 seconds ending at 1644260390.534
Interim result: 89.21 10^6bits/s over 1.108 seconds ending at 1644260391.642
Interim result: 90.93 10^6bits/s over 1.061 seconds ending at 1644260392.703
Interim result: 88.20 10^6bits/s over 1.109 seconds ending at 1644260393.811
Interim result: 93.57 10^6bits/s over 1.034 seconds ending at 1644260394.845
*** netperf on slower client started here; listed after the current output is finished but run simultaneously from this point on ***
Interim result: 100.82 10^6bits/s over 1.066 seconds ending at 1644260395.911
Interim result: 90.06 10^6bits/s over 1.119 seconds ending at 1644260397.030
Interim result: 79.46 10^6bits/s over 1.209 seconds ending at 1644260398.239
Interim result: 80.17 10^6bits/s over 1.071 seconds ending at 1644260399.310
Interim result: 71.08 10^6bits/s over 1.128 seconds ending at 1644260400.439
Interim result: 86.95 10^6bits/s over 1.119 seconds ending at 1644260401.557
Interim result: 86.35 10^6bits/s over 1.006 seconds ending at 1644260402.564
Interim result: 81.36 10^6bits/s over 1.062 seconds ending at 1644260403.625
Interim result: 86.04 10^6bits/s over 1.043 seconds ending at 1644260404.669
Interim result: 93.03 10^6bits/s over 1.065 seconds ending at 1644260405.734
Interim result: 97.10 10^6bits/s over 1.023 seconds ending at 1644260406.757
Interim result: 93.28 10^6bits/s over 1.041 seconds ending at 1644260407.798
Interim result: 90.97 10^6bits/s over 1.133 seconds ending at 1644260408.931
Interim result: 62.47 10^6bits/s over 1.456 seconds ending at 1644260410.387
Interim result: 85.02 10^6bits/s over 1.051 seconds ending at 1644260411.438
Interim result: 102.93 10^6bits/s over 1.042 seconds ending at 1644260412.480
Interim result: 100.05 10^6bits/s over 1.028 seconds ending at 1644260413.508
Interim result: 108.30 10^6bits/s over 1.058 seconds ending at 1644260414.566
Interim result: 100.33 10^6bits/s over 1.079 seconds ending at 1644260415.645
Interim result: 95.90 10^6bits/s over 1.047 seconds ending at 1644260416.692
Interim result: 106.55 10^6bits/s over 1.159 seconds ending at 1644260417.851
Interim result: 73.11 10^6bits/s over 1.457 seconds ending at 1644260419.308
Interim result: 67.76 10^6bits/s over 1.079 seconds ending at 1644260420.388
Interim result: 104.44 10^6bits/s over 1.183 seconds ending at 1644260421.571
Interim result: 81.00 10^6bits/s over 1.290 seconds ending at 1644260422.861
Interim result: 79.01 10^6bits/s over 1.025 seconds ending at 1644260423.886
Interim result: 78.37 10^6bits/s over 1.008 seconds ending at 1644260424.895
Interim result: 94.67 10^6bits/s over 1.047 seconds ending at 1644260425.941
Interim result: 88.58 10^6bits/s over 1.068 seconds ending at 1644260427.010
Interim result: 72.92 10^6bits/s over 1.215 seconds ending at 1644260428.225
Interim result: 82.95 10^6bits/s over 1.067 seconds ending at 1644260429.291
Interim result: 124.63 10^6bits/s over 1.041 seconds ending at 1644260430.333
Interim result: 89.38 10^6bits/s over 1.395 seconds ending at 1644260431.727
Interim result: 77.96 10^6bits/s over 1.147 seconds ending at 1644260432.874
Interim result: 70.94 10^6bits/s over 1.099 seconds ending at 1644260433.973
Interim result: 113.89 10^6bits/s over 1.108 seconds ending at 1644260435.081
Interim result: 92.17 10^6bits/s over 1.236 seconds ending at 1644260436.317
Interim result: 85.00 10^6bits/s over 1.084 seconds ending at 1644260437.401
Interim result: 100.04 10^6bits/s over 1.067 seconds ending at 1644260438.468
Interim result: 90.67 10^6bits/s over 1.103 seconds ending at 1644260439.571
Interim result: 86.81 10^6bits/s over 1.045 seconds ending at 1644260440.616
Interim result: 98.34 10^6bits/s over 1.042 seconds ending at 1644260441.658
Interim result: 91.98 10^6bits/s over 1.123 seconds ending at 1644260442.781
Interim result: 85.51 10^6bits/s over 1.076 seconds ending at 1644260443.857
Interim result: 86.93 10^6bits/s over 0.792 seconds ending at 1644260444.649
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
131072 16384 16384 60.29 88.91
*** netperf output from slower client ***
[11] $ netperf -l 60 -D 1s -H XXX.XXX.XXX.26
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to XXX.XXX.XXX.26 () port 0 AF_I\
NET : demo
Interim result: 0.81 10^6bits/s over 2.759 seconds ending at 1644260397.731
Interim result: 27.73 10^6bits/s over 1.134 seconds ending at 1644260398.866
Interim result: 23.84 10^6bits/s over 1.237 seconds ending at 1644260400.103
Interim result: 8.00 10^6bits/s over 2.982 seconds ending at 1644260403.085
Interim result: 27.03 10^6bits/s over 1.081 seconds ending at 1644260404.166
Interim result: 5.00 10^6bits/s over 5.395 seconds ending at 1644260409.562
Interim result: 27.76 10^6bits/s over 1.006 seconds ending at 1644260410.567
Interim result: 3.43 10^6bits/s over 8.098 seconds ending at 1644260418.665
Interim result: 28.54 10^6bits/s over 36.307 seconds ending at 1644260454.972
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
131072 16384 16384 60.14 20.54
I can change the ATF weight for the faster client from 256 to 1 and get the essentially the same result. The slower client just grinds to a halt.
ATF, if it is even working on my device, is not behaving as I've been lead to believe. I have some old builds i think before ATF was implemented - I need to try those.