On Sunday 10 August 2003 02:16, Martin A. Brown wrote: > Hello all, > > I have a question about the details of HTB packet dequeuing and the effect > on scheduling of packets queued in different classes. I have been unable > to answer this question with certainty either by reading the HTB user > guide [1] or the LARTC FAQ on docum.org [2]. > > The closest I can come to guessing the answer is the section on burst in > the HTB user guide [3]. > > Here's my question: > > When a sending class is below rate, how many bytes is the class allowed > to transmit before another class is serviced? > > It seems clear to me from this answer [4] in the LARTC FAQ, that the > quantum is used to allow each class to borrow from a parent in a turn. Is > the class also allowed to dequeue only quantum bytes per turn (when above > rate but below ceil)? > But, more importantly, when a class is below rate, is it allowed to > dequeue a maximum of burst packets per turn? > > Is this statement, then, accurate? > > - below rate, a class can dequeue up to burst bytes per turn I don't think this is true. I see it like this. The htb scheduler polls each class to see if the class has some packets. It also checks the tokens and ctokens to find out how many packets the class can sent.So the number of packets a class can sent depends on the rate and the polling frequency. The polling frequency depends on the number of classes to be polled and the kernel clock timer. That's why changing the kernel clock can change the accuracy [1]. And I'm not sure, but I thought the htb scheduler has a list of possible active classes to poll. See "self feed list" on [2]. So it has not to poll all class but know which classes are ready to sent. > - above rate, a class can dequeue up to quantum bytes per turn Agree. > P.S. Groeten, Stef! Thx :) [1] http://www.docum.org/stef.coene/qos/faq/cache/40.html [2] http://luxik.cdi.cz/~devik/qos/htb/manual/theory.htm Stef -- stef.coene@xxxxxxxxx "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.oftc.net