All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.