[Codel] [Cerowrt-devel] FQ_Codel lwn draft article review

Eric Dumazet eric.dumazet at gmail.com
Mon Dec 3 10:49:05 EST 2012

On Mon, 2012-12-03 at 06:58 -0800, Paul E. McKenney wrote:
> On Mon, Dec 03, 2012 at 01:54:35PM +0100, Toke Høiland-Jørgensen wrote:
> > Dave Taht <dave.taht at gmail.com> writes:
> > 
> > > you have no control. The tx queue rings are flooded before control is
> > > handed back to the fq_codel scheduler. You can get some control back
> > > on a non-BQL driver by reducing the number of tx descriptors
> > > dramatically, but that leads to issues with small vs big packets....
> > 
> > Right, so BQL is pretty much a requirement to get anything worthwhile
> > out of fq_codel? Or is that too strongly put?
> If I understand the code correctly, without BQL, FQ-CoDel does not get
> invoked at all.

It depends on many factors.

You can setup a qdisc hierarchy of on HTB/TBF and one fq_codel.

Egress rate limiting is a good way to permit to build a queue in qdisc
(in fq_codel)

BQL in itself avoids a too large queue on the device driver, thats only
a part of the problem.

If your setup is a computer with 1Gbps ethernet link, and a home router
with a 1Mbps upstream link that you cant access (ie install fq_codel on
it), BQL on the 1Gbps link wont help in itself.

It will still allow your computer to send 1Gbps worth of data that will
build a huge queue on the home router.

One way to handle that is using rate limiting to not create a queue on
the router.

More information about the Codel mailing list