Subject: Re: Not understand some in htb_do_events function

From: Martin Devera <[email-masked]>
Date: Tue, 15 Jan 2008 22:58:29 +0100

> 
> So this was meant to protect against endless loops?
> 
>> We want way to smooth big burst of events over more dequeue invocations
>> in order to not slow dequeue too much. Constant 500 is max. allowed
>> "slowdown" of dequeue.
>> Any bright idea how to do it more elegant, Patrick ?
> 
> 
> Unfortunately not, but I believe simply removing the limit
> completely would be better than picking an arbitary value.

Grrr my comp crashed while I was writing this mail. Well the second
attempt.
When we allow unlimited events per dequeue, then there is case where
all N classes in qdisc can be in the event queue with the same target
time. Then they will all be acted on in the loop within single dequeue,
costing us say some milliseconds. Additionaly, it tends to repeat itself
then in cycles.
Maybe it is acceptable but it seemed to me as rather big latency.
Thus I wanted to do only limited work per dequeue call. One possibility
is to remove the limit and "see what happend in wild".

What do u think about to do limited no of transitions and then schedule
tasklet to do the rest (again in limited buckets) ?