[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[altq 73] Re: When a class is delayed (undertime)
Fulvio Risso said:
>> Could you please explain why do you inserded the following code?
>> + tidle =3D (1 - RM_POWER) * avgidle >> RM_FILTER_GAIN;
>> + TV_ADD_DELTA(nowp, tidle, &cl->undertime_);
>> Why are you adding (1 - RM_POWER) * avgidle >> RM_FILTER_GAIN ?
>> What does it means this value?
>> In this way, the suspension time becomes:
>> susp_time = nowp + tidle + packet_time + offtime
susp_time = now + tidle + offtime
At this point, avgidle is negative.
The target idle time (tidle) is required to bring avgidle back to 0.
(tidle is supposed to be small when the class is not allowed to borrow.)
To make the class able to send minburst packets at the resume time,
offtime needs to be added to the suspention time.
-Kenjiro