From: "Jacky Lam" <jackylam@astri.org>
To: "Eugene Surovegin" <ebs@ebshome.net>
Cc: <linuxppc-embedded@lists.linuxppc.org>
Subject: Re: Small UDP packet performance
Date: Tue, 20 Jan 2004 08:48:38 +0800 [thread overview]
Message-ID: <015501c3deef$27263030$9104050a@JACKYLAM> (raw)
In-Reply-To: 20040119052806.GA26841@gate.ebshome.net
Thanks. My case is that I am using NetPerf to test the UDP performance.
I am using a x86 with GigaEthernet card and sending packet to my 405EP in
full speed. I find that the box nearly dead in first min and lost all
packets. I know that it is unavoidable. But I want to know anyway to improve
as much as possible.
What is NAPI? How can I make use of it? Is there any buffer size in UDP
stack that I can adjust? Thanks.
Jacky
----- Original Message -----
From: "Eugene Surovegin" <ebs@ebshome.net>
To: "Jacky Lam" <jackylam@astri.org>
Cc: <linuxppc-embedded@lists.linuxppc.org>
Sent: Monday, January 19, 2004 1:28 PM
Subject: Re: Small UDP packet performance
> On Mon, Jan 19, 2004 at 11:44:55AM +0800, Jacky Lam wrote:
> > Currently, I find that my PPC 405EP board has some problem about the
> > throughput of small UDP packet (188 bytes). The throughput is just only
> > ~0.01%. However, for large packet, say 1K, the throughput is very good.
It
> > is more than 50%. Is it a problem of PPC Linux, ethernet driver or
generic
> > Linux? Is there any way to tune it? Thanks.
>
> When talking about IP stack/driver performance usually you should pay
> attention to the packets per second (pps) not throughput (whatever you
> mean under this term).
>
> If you analyze your test cases using pps you'll probably notice that
> performance of your 405ep board is the same in both cases (at least if
> in your tests you were _sending_ data from the 405ep).
>
> When computing "throughput" with small packet size don't forget to add
> L1/L2/L3 overhead (inter frame gap, Ethernet frame headers, IP and UDP
> headers), in case of UDP total overhead per packet is 66 bytes of
> Ethernet bandwidth;
>
> To demonstrate this point, consider the following (generated) table:
>
> UDP min size - 18, max size - 1472, overhead 66
> 20, rate 145348
> 120, rate 67204
> 220, rate 43706
> 320, rate 32383
> 420, rate 25720
> 520, rate 21331
> 620, rate 18221
> 720, rate 15903
> 820, rate 14108
> 920, rate 12677
> 1020, rate 11510
> 1120, rate 10539
> 1220, rate 9720
> 1320, rate 9018
> 1420, rate 8411
>
> First column - is the size of UDP payload, "rate" is the theoretical
> maximum number of packets you can fit in 100Mb link.
>
> Let's say you box is fast enough to send 10K packets per second. As
> you see it's more than enough to saturate 100Mb Ethernet with big
> packets (UDP payload > ~1120 bytes).
>
> But with 200-sized UDP payload you can only fill ~2.7% of 100Mb link.
>
> Also, please note, that usually you can _send_ more packets than
> receive and if you flood the box with a lot of packets you can
> experience so called "congestion collapse" (google "Beyond Softnet"
> for more details). This can be solved by modifing ethernet driver to
> use NAPI (some work is in progress for 4xx).
>
> Eugene
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2004-01-20 0:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-19 3:44 Small UDP packet performance Jacky Lam
2004-01-19 5:28 ` Eugene Surovegin
2004-01-19 5:47 ` Eugene Surovegin
2004-01-20 0:48 ` Jacky Lam [this message]
2004-01-20 1:02 ` Eugene Surovegin
2004-01-20 23:23 ` Andrew May
2004-01-21 1:16 ` Eugene Surovegin
2004-01-21 2:05 ` Andrew May
2004-01-21 3:38 ` Eugene Surovegin
2004-01-22 9:26 ` Jacky Lam
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='015501c3deef$27263030$9104050a@JACKYLAM' \
--to=jackylam@astri.org \
--cc=ebs@ebshome.net \
--cc=linuxppc-embedded@lists.linuxppc.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).