Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> writes: > Toke Høiland-Jørgensen wrote: >> This switches ath9k over to using the mac80211 intermediate software >> queueing mechanism for data packets. It removes the queueing inside the >> driver, except for the retry queue, and instead pulls from mac80211 when >> a packet is needed. The retry queue is used to store a packet that was >> pulled but can't be sent immediately. >> >> The old code path in ath_tx_start that would queue packets has been >> removed completely, as has the qlen limit tunables (since there's no >> longer a queue in the driver to limit). >> >> The mac80211 intermediate software queues offer significant latency >> reductions, and this patch allows ath9k to realise them. The exact gains >> from this varies with the test scenario, but in an access point scenario >> we have seen latency reductions ranging from 1/3 to as much as an order >> of magnitude. We also achieve slightly better aggregation. >> >> Median latency (ping) figures with this patch applied at the access point, >> with two high-rate stations and one low-rate station (HT20 5Ghz), running >> a Flent rtt_fair_var_up test with one TCP flow and one ping flow going to >> each station: >> >> Fast station Slow station >> Default pfifo_fast qdisc: 430.4 ms 638.7 ms >> fq_codel qdisc on iface: 35.5 ms 211.8 ms >> This patch set: 22.4 ms 38.2 ms >> >> Median aggregation sizes over the same test: >> >> Default pfifo_fast qdisc: 9.5 pkts 1.9 pkts >> fq_codel qdisc on iface: 11.2 pkts 1.9 pkts >> This patch set: 13.9 pkts 1.9 pkts >> >> This patch is based on Tim's original patch set, but reworked quite >> thoroughly. >> >> Cc: Tim Shepard <shep@xxxxxxxxxxxx> >> Cc: Felix Fietkau <nbd@xxxxxxxx> >> Signed-off-by: Toke Høiland-Jørgensen <toke@xxxxxxx> > > Perfect, just what I was hoping to see :) Unless something really > surprising comes up I should apply this within the next few days. Awesome, thanks! :) -Toke