@jonathanlee Thank you very much for this attempt. I am personally very graphically untalented, but very responsive to good graphs. If ever you have a chance to give this a go again, to revisit and re-use your first tail drop diagram in contrast with codel alone - codel drops from the head of the queue, not the tail, and I would perhaps draw a 5ms target window at the same 4 packets you use here and feature a few more packet slots as a shock absorber. then three phases
queue over target showing timestamps
shock absorber filling -> dropping from head when too old
queue below or at target
I have NEVER managed to describe how codel operates well enough to suit me, and fq_codel, or for that matter, cake, oh, man...
https://lists.bufferbloat.net/pipermail/bloat/2013-February/004888.html
To try and describe how fq-codel works, I would use a single queue on the front left there with different colors for packets and their bunches. I do things like
AAAAAABBFBBEAAAFEAAACAAA ->
And coming out:
BABAABFA BCEFCA
Which is kind of accurate for a per packet FQ system, but DRR is different and having the longer blobs to represent bytes rather than packets might help.
Does that help any?