[Codel] [aqm] Codel's count variable and re-entering dropping state at small time intervals

Jonathan Morton chromatix99 at gmail.com
Fri Aug 14 11:59:08 EDT 2015


> On 14 Aug, 2015, at 18:25, Polina Goltsman <polina.goltsman at student.kit.edu> wrote:
> 
> What is the default value of "threshold" for default interval and target?

From sch_cake.c 694-696:

	fqcd->cparams.target = max(byte_target_ns, ns_target);
	fqcd->cparams.interval = max(MS2TIME(100) + fqcd->cparams.target - ns_target, fqcd->cparams.target * 8);
	fqcd->cparams.threshold = (fqcd->cparams.target >> 15) * (fqcd->cparams.interval >> 15) * 2;

Given default interval is 100ms (100,000,000 ns) and target is 5ms (5,000,000 ns), threshold will be about 931,322.  This is compared to the scaled product of sojourn time and the time since the target was first exceeded, so its units are not time but time-squared.

The calculation is designed to place the trigger when the queue is growing as slowly as possible (ie. resting just above the target sojourn time) at twice the nominal interval.  This also places the fastest possible trigger at about a third of the nominal interval.

 - Jonathan Morton




More information about the Codel mailing list