There is some subtlety of terminology here... Fq_codel has many queues, but they are not a priori assigned as "low latency" or otherwise. There is a dynamic sense of whether each queue is handling sparse or bulk traffic, with the sparse queues being serviced first. This is a type of priority queuing which is difficult to game (and completely ignores Diffserv). Cake does the same thing, and additionally divides the queue using Diffserv. Etcetera. Both fq_codel and cake deliver one packet at a time. This is a feature of the qdisc API within the kernel. They have no visibility of what aggregation might be happening at the hardware level, only that the driver is requesting a packet. Wi-Fi hardware implementing 802.11e tends to have four queues, each of which is a dumb FIFO, and services only one of them per TXOP (probably the highest priority one). It doesn't even do the "naive" thing you mention - which goes some way to illustrate the point of view of the typical hardware engineer. - Jonathan Morton