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> Patch applied to ath-next branch of ath.git, thanks. 50f08edf9809 ath9k: Switch to using mac80211 intermediate software queues. -- https://patchwork.kernel.org/patch/9419029/ Documentation about submitting wireless patches and checking status from patchwork: https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches