From: Bill Fink <billfink@mindspring.com>
To: Bruce Allen <ballen@gravity.phys.uwm.edu>
Cc: "Kok, Auke" <auke-jan.h.kok@intel.com>,
"Brandeburg, Jesse" <jesse.brandeburg@intel.com>,
netdev@vger.kernel.org,
Carsten Aulbert <carsten.aulbert@aei.mpg.de>,
Henning Fehrmann <henning.fehrmann@aei.mpg.de>,
Bruce Allen <bruce.allen@aei.mpg.de>
Subject: Re: e1000 full-duplex TCP performance well below wire speed
Date: Fri, 1 Feb 2008 01:27:32 -0500 [thread overview]
Message-ID: <20080201012732.232b7859.billfink@mindspring.com> (raw)
In-Reply-To: <Pine.LNX.4.63.0801311340270.14403@trinity.phys.uwm.edu>
On Thu, 31 Jan 2008, Bruce Allen wrote:
> >> Based on the discussion in this thread, I am inclined to believe that
> >> lack of PCI-e bus bandwidth is NOT the issue. The theory is that the
> >> extra packet handling associated with TCP acknowledgements are pushing
> >> the PCI-e x1 bus past its limits. However the evidence seems to show
> >> otherwise:
> >>
> >> (1) Bill Fink has reported the same problem on a NIC with a 133 MHz
> >> 64-bit PCI connection. That connection can transfer data at 8Gb/s.
> >
> > That was even a PCI-X connection, which is known to have extremely good latency
> > numbers, IIRC better than PCI-e? (?) which could account for a lot of the
> > latency-induced lower performance...
> >
> > also, 82573's are _not_ a serverpart and were not designed for this
> > usage. 82546's are and that really does make a difference.
>
> I'm confused. It DOESN'T make a difference! Using 'server grade' 82546's
> on a PCI-X bus, Bill Fink reports the SAME loss of throughput with TCP
> full duplex that we see on a 'consumer grade' 82573 attached to a PCI-e x1
> bus.
>
> Just like us, when Bill goes from TCP to UDP, he gets wire speed back.
Good. I thought it was just me who was confused by Auke's reply. :-)
Yes, I get the same type of reduced TCP performance behavior on a
bidirectional test that Bruce has seen, even though I'm using the
better 82546 GigE NIC on a faster 64-bit/133-MHz PCI-X bus. I also
don't think bus bandwidth is an issue, but I am curious if there
are any known papers on typical PCI-X/PCI-E bus overhead on network
transfers, either bulk data transfers with large packets or more
transaction or video based applications using smaller packets.
I started musing if once one side's transmitter got the upper hand,
it might somehow defer the processing of received packets, causing
the resultant ACKs to be delayed and thus further slowing down the
other end's transmitter. I began to wonder if the txqueuelen could
have an affect on the TCP performance behavior. I normally have
the txqueuelen set to 10000 for 10-GigE testing, so decided to run
a test with txqueuelen set to 200 (actually settled on this value
through some experimentation). Here is a typical result:
[bill@chance4 ~]$ nuttcp -f-beta -Itx -w2m 192.168.6.79 & nuttcp -f-beta -Irx -r -w2m 192.168.6.79
tx: 1120.6345 MB / 10.07 sec = 933.4042 Mbps 12 %TX 9 %RX 0 retrans
rx: 1104.3081 MB / 10.09 sec = 917.7365 Mbps 12 %TX 11 %RX 0 retrans
This is significantly better, but there was more variability in the
results. The above was with TSO enabled. I also then ran a test
with TSO disabled, with the following typical result:
[bill@chance4 ~]$ nuttcp -f-beta -Itx -w2m 192.168.6.79 & nuttcp -f-beta -Irx -r -w2m 192.168.6.79
tx: 1119.4749 MB / 10.05 sec = 934.2922 Mbps 13 %TX 9 %RX 0 retrans
rx: 1131.7334 MB / 10.05 sec = 944.8437 Mbps 15 %TX 12 %RX 0 retrans
This was a little better yet and getting closer to expected results.
Jesse Brandeburg mentioned in another post that there were known
performance issues with the version of the e1000 driver I'm using.
I recognized that the kernel/driver versions I was using were rather
old, but it was what I had available to do a quick test with. Those
particular systems are in a remote location so I have to be careful
with messing with their network drivers. I do have some other test
systems at work that I might be able to try with newer kernels
and/or drivers or maybe even with other vendor's GigE NICs, but
I won't be back to work until early next week sometime.
-Bill
next prev parent reply other threads:[~2008-02-01 6:27 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-30 12:23 e1000 full-duplex TCP performance well below wire speed Bruce Allen
2008-01-30 17:36 ` Brandeburg, Jesse
2008-01-30 18:45 ` Rick Jones
2008-01-30 23:15 ` Bruce Allen
2008-01-31 11:35 ` Carsten Aulbert
2008-01-31 17:55 ` Rick Jones
2008-02-01 19:57 ` Carsten Aulbert
2008-01-30 23:07 ` Bruce Allen
2008-01-31 5:43 ` Brandeburg, Jesse
2008-01-31 8:31 ` Bruce Allen
2008-01-31 18:08 ` Kok, Auke
2008-01-31 18:38 ` Rick Jones
2008-01-31 18:47 ` Kok, Auke
2008-01-31 19:07 ` Rick Jones
2008-01-31 19:13 ` Bruce Allen
2008-01-31 19:32 ` Kok, Auke
2008-01-31 19:48 ` Bruce Allen
2008-02-01 6:27 ` Bill Fink [this message]
2008-02-01 7:54 ` Bruce Allen
2008-01-31 15:12 ` Carsten Aulbert
2008-01-31 17:20 ` Brandeburg, Jesse
2008-01-31 17:27 ` Carsten Aulbert
2008-01-31 17:33 ` Brandeburg, Jesse
2008-01-31 18:11 ` running aggregate netperf TCP_RR " Rick Jones
2008-01-31 18:03 ` Rick Jones
2008-01-31 15:18 ` Carsten Aulbert
2008-01-31 9:17 ` Andi Kleen
2008-01-31 9:59 ` Bruce Allen
2008-01-31 16:09 ` Carsten Aulbert
2008-01-31 18:15 ` Kok, Auke
2008-01-30 19:17 ` Ben Greear
2008-01-30 22:33 ` Bruce Allen
[not found] <Pine.LNX.4.63.0801300324000.6391@trinity.phys.uwm.edu>
2008-01-30 13:53 ` David Miller
2008-01-30 14:01 ` Bruce Allen
2008-01-30 16:21 ` Stephen Hemminger
2008-01-30 22:25 ` Bruce Allen
2008-01-30 22:33 ` Stephen Hemminger
2008-01-30 23:23 ` Bruce Allen
2008-01-31 0:17 ` SANGTAE HA
2008-01-31 8:52 ` Bruce Allen
2008-01-31 11:45 ` Bill Fink
2008-01-31 14:50 ` David Acker
2008-01-31 15:57 ` Bruce Allen
2008-01-31 15:54 ` Bruce Allen
2008-01-31 17:36 ` Bill Fink
2008-01-31 19:37 ` Bruce Allen
2008-01-31 18:26 ` Brandeburg, Jesse
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=20080201012732.232b7859.billfink@mindspring.com \
--to=billfink@mindspring.com \
--cc=auke-jan.h.kok@intel.com \
--cc=ballen@gravity.phys.uwm.edu \
--cc=bruce.allen@aei.mpg.de \
--cc=carsten.aulbert@aei.mpg.de \
--cc=henning.fehrmann@aei.mpg.de \
--cc=jesse.brandeburg@intel.com \
--cc=netdev@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 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).