[Codel] fq_codel : interval servo

Eric Dumazet eric.dumazet at gmail.com
Sat Sep 1 08:53:32 EDT 2012

On Fri, 2012-08-31 at 09:59 -0700, Dave Taht wrote:

> I realize that 10GigE and datacenter host based work is sexy and fun,
> but getting stuff that runs well in today's 1-20Mbit environments is
> my own priority, going up to 100Mbit, with something that can be
> embedded in a SoC. The latest generation of SoCs all do QoS in
> hardware... badly.

Maybe 'datacenter' word was badly chosen and you obviously jumped on it,
because it meant different things for you.

Point was that when your machine has flows with quite different RTT, 1
ms on your local LAN, and 100 ms on different continent, current control
law might clamp long distance communications, or have slow response time
for the LAN traffic.

The shortest path you have, the sooner you should drop packets because
losses have much less impact on latencies.

Yuchung idea sounds very good and my intuition is it will give
tremendous results for standard linux qdisc setups ( a single qdisc per

To get similar effects, you could use two (or more) fq codels per
ethernet device.

One fq_codel with interval = 1 or 5 ms for LAN communications
One fq_codel with interval = 100 ms for other communications  
tc filters to select the right qdisc by destination addresses

Then we are a bit far from codel spirit (no knob qdisc)

I am pretty sure you noticed that if your ethernet adapter is only used
for LAN communications, you have to setup codel interval to a much
smaller value than the 100 ms default to get reasonably fast answer to

Just make this automatic, because people dont want to think about it.

More information about the Codel mailing list