Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxx> writes: > On 2019-08-20 22:21, Toke Høiland-Jørgensen wrote: >> [... snip ... ] >> >>> +static const struct ieee80211_ops ath11k_ops = { >>> + .tx = ath11k_mac_op_tx, >> >> No wake_tx_queue? :( > > Yes, packet queueing is handled in firmware. This makes sense > especially when we enable 802.11 encap offload support where most of > the data path processing in mac80211 will be skipped and packet is > given to driver/firmware in 802.3 format itself. Then firmware would > take care of all the classification, queueing and encapsulation > operations. Well, so does ath10k, and yet we still saw a significant improvement by moving queueing back into the host where it can be handled by the FQ-CoDel-enabled queueing structure. So, *how* does the firmware handle the queueing? Does it have per-stations queues? Per-flow queues? What's the latency under load figures for the firmware queues? -Toke