All of lore.kernel.org
 help / color / mirror / Atom feed
From: gypsy <gypsy@iswest.com>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] HTB performance improvement
Date: Thu, 06 Dec 2007 19:10:39 +0000	[thread overview]
Message-ID: <4758492F.3E3F252F@iswest.com> (raw)
In-Reply-To: <685F1926C37B1846BE64D0033B46AF97E34D1D@els00wmx04.elsag.it>

> Koblensky Mingyur wrote:
> 
> Hi all !
> i'm looking at the performance of the HTB algorithm/implementation
> because i would like more packets/sec !!
> this is the scenario of the performance test:
> 
> i'm using an embedded system with:
> SPEED CPU: 399,999 MHz
> RAM: 128 MByte
> FLASH: 16 MByte
> EEPROM: 8Kbyte
> PROCESSOR MPC8272
> 
> 1) with none qos configuration (system conf) i've obtained:  TX
> 29940 packets/sec RX 29948.98 packets/sec with 2 packets lost
> 2) with only system conf + iptables marking support          TX/RX
> 24950 packets/sec, 8 packets lost
> 3) with only system conf + u32 support                       TX/RX
> 29950 packets/sec, 5 packets lost
> 4) with only system conf + HTB with iptables mark classifier TX/RX
> 13000 packets/sec, 0 packets lost
> 5) with only system conf + HTB with u32 classifier           TX/RX
> 19290 packets/sec, 0 packets lost
> 
> tc qdisc add dev eth0.2 root handle 1: htb
> tc class add dev eth0.2 parent 1: classid 1:1 htb  rate 100000000 ceil
> 100000000 burst 1000000 quantum 1600
> tc class add dev eth0.2 parent 1:1 classid 1:10 htb prio 1 rate
> 70000000 ceil 70000000 burst 1000000 quantum 1600
> tc class add dev eth0.2 parent 1:1 classid 1:11 htb prio 2 rate
> 10000000 ceil 10000000 burst 1000000 quantum 1600
> tc class add dev eth0.2 parent 1:1 classid 1:12 htb prio 3 rate
> 10000000 ceil 10000000 burst 1000000 quantum 1600


First, your quantum is wrong.  Think of HTB as a NIC.  You are sending
packets out via that "NIC", and those packets must be 1600 bytes big
before being sent.  Since a "normal" packet is up to 1500 bytes, you're
making HTB take part of the next packet before it can send.

Your burst is also huge enough to swamp the interrupt controller. 
Consider 16K or 32K instead.

Unless you get complaints during the load of the above, do not specify
any quantum, or specify the quantum HTB sets for rates that do not
complain.

The next likely reason for you to be at "half spped" is that HTB is
using the wrong clock.  Which clock and what speed are kernel version
dependent.

Part of what I snipped referred to 10/100 ethernet.  Normally that will
not trigger any, but be sure that when you run a 'tc -s class ls dev
$IFE' (where IFE is the correct interface) that "giants" are always
zero.
--
gypsy
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

  reply	other threads:[~2007-12-06 19:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-06  9:17 [LARTC] HTB performance improvement Koblensky Mingyur
2007-12-06 19:10 ` gypsy [this message]
2007-12-07  6:10 ` gypsy
2007-12-07 12:48 ` Andy Furniss

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4758492F.3E3F252F@iswest.com \
    --to=gypsy@iswest.com \
    --cc=lartc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.