[LARTC] r2q error with HTB

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2003-08-08 at 00:51, Stef Coene wrote:
> On Friday 08 August 2003 00:20, Patrick Turley wrote:
> > (This is a re-statement of a question I asked earlier)
> >
> > I have a number of HTB classes feeding into a root HTB qdisc. Whenever I
> > set the rate on any of the subordinate classes to 78 kpbs or less, I get
> > the following message:
> >
> >
> > HTB : quantum of class <class ID> is small. Consider r2q change.
> >
> >
> > I've done some reading about the meaning of r2q, and I understand it
> > now:
> >
> >     quantum = rate/r2q
> >
> > where:
> >
> >     rate is expressed in kilobits per second
> >     quantum is expressed in bytes
> >     r2q has the appropriate units and is 10 by default
> >
> > Based on what I've read, it's not at all clear why HTB would complain
> > about a rate of 78Kbit. That corresponds to a quantum of 7800 bytes,
> > which is much larger than the maximum Ethernet packet size (1500).
> >
> > Anyone have a clue?
> Yes.  78kbit = 9.75kbyte.  So quantum = 9.75kilobyte/10 = 975byte.
> 
> Stef

<blush>

OK, I wish I hadn't made that silly mistake.

79Kbit = 80896 bits/sec = 10112 bytes/sec

10112 bytes/sec / 10 r2q => quantum > 1000 bytes

I conclude, then, that HTB will spit out a warning when the quantum
implied by the subclass drops below 1000 bytes. This is useful
information.

As I said before, I have a number of classes feeding into the root.
These classes can have widely varying rate limits, and they can change
dynamically. Therefore, to avoid encountering the problem that this
message indicates, I need to estimate the lowest reasonable rate limit
and select an r2q that will just barely keep this rate's quantum above
1000. A lower rate limit of 50Kbit seems reasonable for my application:

50Kbit = 51200 bits/sec = 6400 bytes/sec

6400 bytes/sec / 1000 bytes = 6 r2q

According to Stef's FAQ at
http://qos.dyndns.org:3389/cgi-bin/fom?_highlightWords=r2q&file=31, the
buit-in limit for the quantum is 60000 bytes. Even though I've reduced
the value of r2q, I still won't hit this limit until the rate exceeds:

60000 bytes * 6 r2q = 360000 bytes/sec => 2.74Mbit

This is acceptable.




[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux