summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorToke Høiland-Jørgensen <toke@toke.dk>2016-12-05 13:27:37 +0200
committerKalle Valo <kvalo@qca.qualcomm.com>2016-12-15 10:43:05 +0200
commit63fefa050477b0974ab34f650e21a7cfc3b02d96 (patch)
treee4de31e12541a07958d2e799a439a6b04b07a90d /include
parent4bca5303eb55d3876e719367290c08b11c70cf78 (diff)
ath9k: Introduce airtime fairness scheduling between stations
This reworks the ath9k driver to schedule transmissions to connected stations in a way that enforces airtime fairness between them. It accomplishes this by measuring the time spent transmitting to or receiving from a station at TX and RX completion, and accounting this to a per-station, per-QoS level airtime deficit. Then, an FQ-CoDel based deficit scheduler is employed at packet dequeue time, to control which station gets the next transmission opportunity. Airtime fairness can significantly improve the efficiency of the network when station rates vary. The following throughput values are from a simple three-station test scenario, where two stations operate at the highest HT20 rate, and one station at the lowest, and the scheduler is employed at the access point: Before / After Fast station 1: 19.17 / 25.09 Mbps Fast station 2: 19.83 / 25.21 Mbps Slow station: 2.58 / 1.77 Mbps Total: 41.58 / 52.07 Mbps The benefit of airtime fairness goes up the more stations are present. In a 30-station test with one station artificially limited to 1 Mbps, we have seen aggregate throughput go from 2.14 to 17.76 Mbps. Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions