* [LARTC] Classless Queues in series...
@ 2003-03-12 17:07 Ben Clewett
2003-03-12 17:52 ` Martin A. Brown
2003-03-12 20:36 ` Stef Coene
0 siblings, 2 replies; 3+ messages in thread
From: Ben Clewett @ 2003-03-12 17:07 UTC (permalink / raw)
To: lartc
I need (or would at lest live very much :) to use two Classless Queues
in series.
I can't see in the HOWTO how this is done, but guess at something like:
tc qdisc add dev eth0 root handle 1: sfq (etc)
tc qdisk add dev eth0 parent 1: tbf (etc)
Am I on the right lines here?
I also have a small problem with TBF... From the HOWTO sec 9.2.2, it is
surgested that a value for the 'burst' should be:
"For 10mbit/s on Intel, you need at least 10kbyte buffer if you want to
reach your configured rate!"
Therefore: burst => rate * (8 / 1000)
However, I find using this I get stall on ftp and other common
protocols, when they get above the throttle rate, with low bandwidths
(eg, 64kbit/sec). -- Or I completelly fail to understand the above
statement...
Does any person have a better method for calculating a good value for
'buffer' ?
Regards, Ben.
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [LARTC] Classless Queues in series...
2003-03-12 17:07 [LARTC] Classless Queues in series Ben Clewett
@ 2003-03-12 17:52 ` Martin A. Brown
2003-03-12 20:36 ` Stef Coene
1 sibling, 0 replies; 3+ messages in thread
From: Martin A. Brown @ 2003-03-12 17:52 UTC (permalink / raw)
To: lartc
Ben,
: I need (or would at lest live very much :) to use two Classless Queues
: in series.
:
: I can't see in the HOWTO how this is done, but guess at something like:
:
: tc qdisc add dev eth0 root handle 1: sfq (etc)
: tc qdisk add dev eth0 parent 1: tbf (etc)
:
: Am I on the right lines here?
A classless queueing discipline cannot contain another queueing
discipline.
A classful queueing discipline can contain classes and leaf queueing
disciplines.
In other words:
- a classless queueing discipline is by definition, a terminal qdisc
- a classful queueing discipline can be terminal or
- can contain a class, which can be terminal or
- can contain another queueing discipline
Does that help?
: I also have a small problem with TBF... From the HOWTO sec 9.2.2, it is
: surgested that a value for the 'burst' should be:
:
: "For 10mbit/s on Intel, you need at least 10kbyte buffer if you want to
: reach your configured rate!"
:
: Therefore: burst => rate * (8 / 1000)
:
: However, I find using this I get stall on ftp and other common
: protocols, when they get above the throttle rate, with low bandwidths
: (eg, 64kbit/sec). -- Or I completelly fail to understand the above
: statement...
:
: Does any person have a better method for calculating a good value for
: 'buffer' ?
I'm afraid I can't help you on this question.
-Martin
--
Martin A. Brown --- SecurePipe, Inc. --- mabrown@securepipe.com
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [LARTC] Classless Queues in series...
2003-03-12 17:07 [LARTC] Classless Queues in series Ben Clewett
2003-03-12 17:52 ` Martin A. Brown
@ 2003-03-12 20:36 ` Stef Coene
1 sibling, 0 replies; 3+ messages in thread
From: Stef Coene @ 2003-03-12 20:36 UTC (permalink / raw)
To: lartc
On Wednesday 12 March 2003 18:07, Ben Clewett wrote:
> I need (or would at lest live very much :) to use two Classless Queues
> in series.
>
> I can't see in the HOWTO how this is done, but guess at something like:
>
> tc qdisc add dev eth0 root handle 1: sfq (etc)
> tc qdisk add dev eth0 parent 1: tbf (etc)
>
> Am I on the right lines here?
Not really. Like Martin said, some qdiscs can contain classes (htb/cbq). You
can add a second qdisc on that classes. In fact, each leaf class contains a
qdisc. By default this is a pfifo qdisc, but you can replace it with a
classfull qdisc. And you can add a third qdisc to the classes of that second
qdisc and so on.
But each qdisc introduces a new queue so extra delays.
> I also have a small problem with TBF... From the HOWTO sec 9.2.2, it is
> surgested that a value for the 'burst' should be:
>
> "For 10mbit/s on Intel, you need at least 10kbyte buffer if you want to
> reach your configured rate!"
>
> Therefore: burst => rate * (8 / 1000)
>
> However, I find using this I get stall on ftp and other common
> protocols, when they get above the throttle rate, with low bandwidths
> (eg, 64kbit/sec). -- Or I completelly fail to understand the above
> statement...
The minimal burst is the amount of packets you can check between 2 updates.
And this depends on the internal clock used by the kernel. Say this clock
checks the rate each 1/10 second. And you have a rate of 1mbit/s. Then you
need a minimal burst of 0.1mbit. If your burst is lower, say 0.05mbit, you
only can send 0.05mbit each time your timer checks the tbf so you have a rate
of 0.5mbit/s.
> Does any person have a better method for calculating a good value for
> 'buffer' ?
No. But the bigger the buffer, the more time a packet can stay in the bufffer
so the deay can go up.
Stef
--
stef.coene@docum.org
"Using Linux as bandwidth manager"
http://www.docum.org/
#lartc @ irc.oftc.net
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-03-12 20:36 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-12 17:07 [LARTC] Classless Queues in series Ben Clewett
2003-03-12 17:52 ` Martin A. Brown
2003-03-12 20:36 ` Stef Coene
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.