[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