> I wonder, are the low priority classes configured with a guaranteed minimum 
> bandwidth to avoid starvation? And will they opportunistically grab all left 
> over bandwidth to fill the pipe? Then speed test should just work as long as 
> there is no competing traffic…

The problem is that, in the present version, *only* the bulk/background class 
can use the full pipe.  Best effort gets a large fraction as its limit, but 
it’s not full.  Existing speed tests use best-effort traffic, and that’s not 
likely to change soon.

The next version should change that.

> I am probably out of my mind, but couldn't it help if cake would allow a 
> fixed cycle mode where it would process 50ms or so worth of packets pass them 
> to the interface, and then sleep until the next 50ms block start. This should 
> just be a fallback mode to not degrade badly under overload…

There is already such a mode to cope with limited-resolution timers and the 
existing overheads.  Without it, the Pentium-MMX is limited to a rather low 
rate (since it then has to wait for a timer interrupt for alternate packets).  
At 50Mbps+, it’s not too far off what it can bridge without shaping (60Mbps+).  
For some reason, the little CPE boxes still lose more performance than that to 
shaping.

Note that due to the very nature of shaping, the link is always either 
effectively idle (in which case an arriving packet is dispatched immediately, 
without waiting for a timer), or overloaded (in which case packets are 
delivered according to a schedule).  The question is whether the shaping rate 
also overloads the hardware.

In any case, bursting for fifty whole milliseconds at a time would absolutely 
*destroy* cake’s latency performance.  I’m not going to do that.  Accommodating 
timer performance is the only concession to bursting I’m willing to make.

> I think the highest priority band should only get its bandwidth quota, and 
> have no silent priority demotion; but otherwise I think that idea that 
> classes can pick up unused bandwidth sounds sane, especially for best effort 
> and background.

Let’s see how well it works this way.  It should be fairly easy to adjust this 
aspect of behaviour later on.

 - Jonathan Morton

_______________________________________________
Codel mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/codel

Reply via email to