[Codel] [PATCH v5] pkt_sched: codel: Controlled Delay AQM

Eric Dumazet eric.dumazet at gmail.com
Sat May 5 19:07:18 EDT 2012


On Sat, 2012-05-05 at 15:48 -0700, dave taht wrote:

> Stalking butterflies. ( 
> http://en.wikipedia.org/wiki/File:Lorenz_attractor_yb.svg )
> 
> I suspected also we would have issues as we hit some natural quantums 
> (clock rate/interrupt rate/bql estimator etc) but for all I know it's 
> just a plain bug. I need a reboot. Goin to dinner.
> 

This part of Codel seems suspicious (last page )

// If min went above target close to when we last went below it
// assume that the drop rate that controlled the queue on the
// last cycle is a good starting point to control it now.
if (now - drop_next < 16.*interval) {
	int c = count - 1;
	count = c<1? 1 : c;
else {
	count = 1;
}


I suggest to replace it by a more conservative algo :

// If min went above target close to when we last went below it
// assume that sqrt(half) the drop rate that controlled the queue on the
// last cycle is a good starting point to control it now.
if (now - drop_next < 16.*interval) {
	int c = count >> 1;
	count = c<1? 1 : c;
else {
	count = 1;
}


With this change, my q->count max value is 12000






More information about the Codel mailing list