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
_______________________________________________
Cerowrt-devel mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cerowrt-devel

Reply via email to