netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: lm@bitmover.com (Larry McVoy)
To: John Heffner <jheffner@psc.edu>
Cc: lm@bitmover.com, Herbert Xu <herbert@gondor.apana.org.au>,
	torvalds@linux-foundation.org, davem@davemloft.net,
	wscott@bitmover.com, netdev@vger.kernel.org
Subject: Re: tcp bw in 2.6
Date: Tue, 2 Oct 2007 13:14:20 -0700	[thread overview]
Message-ID: <20071002201420.GE29944@bitmover.com> (raw)
In-Reply-To: <4702A1B6.5020505@psc.edu>

> I think I'm still missing some basic data here (probably because this 
> thread did not originate on netdev).  Let me try to nail down some of 
> the basics.  You have a linux ia64 box (running 2.6.12 or 2.6.18?) that 
> sends slowly, and receives faster, but not quite a 1 Gbps?  And this is 
> true regardless of which peer it sends or receives from?  And the 
> behavior is different depending on which kernel?  How, and which kernel 
> versions?  Do you have other hardware running the same kernel that 
> behaves the same or differently?

just got off the phone with Linus and he thinks it is the side that does
the accept is the problem side, i.e., if you are the server, you do the
accept, and you send the data, you'll go slow.  But as I'm writing this
I realize he's wrong, because it is the combination of accept & send.
accept & recv goes fast.

A trivial way to see the problem is to take two linux boxes, on each
apt-get install rsh-client rsh-server
set up your .rhosts,
and then do

	dd if=/dev/zero count=100000 | rsh OTHER_BOX dd of=/dev/null
	rsh OTHER_BOX dd if=/dev/zero count=100000 | dd of=/dev/null

See if you get balanced results.  For me, I get 45MB/sec one way, and
15-19MB/sec the other way.

I've tried the same test linux - linux and linux - hpux.  Same results.
The test setup I have is

	work:	2ghz x 2 Athlons, e1000, 2.6.18
	ia64:	900mhz Itanium, e1000, 2.6.12
	hp-ia64:900mhz Itanium, e1000, hpux 11
	glibc*: 1-2ghz athlons running various linux releases

all connected through a netgear 724T 10/100/1000 switch (a linksys showed
identical results).

I tested 

	work <-> hp-ia64
	work <-> ia64
	ia64 <-> hp-ia64

and in all cases, one direction worked fast and the other didn't.

It would be good if people tried the same simple test.  You have to
use rsh, ssh will slow things down way too much.

Alternatively, take your favorite test programs, such as John's,
and make a second pair that reverses the direction the data is 
sent.  So one pair is server sends, the other is server receives,
try both.  That's where we started, BitKeeper, my stripped down test,
and John's test all exhibit the same behavior.  And the rsh test
is just a really simple way to demonstrate it.

Wayne, Linus asked for tcp dumps from just one side, with the first 100
packets and then wait 10 seconds or so for the window to open up, and then
a snap shot of the another 100 packets.  Do that for both directions
and send them to the list.  Can you do that?  I want to get lunch, I'm
starving.
-- 
---
Larry McVoy                lm at bitmover.com           http://www.bitkeeper.com

  reply	other threads:[~2007-10-02 20:14 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20070929142517.EC6AB5FB21@work.bitmover.com>
     [not found] ` <alpine.LFD.0.999.0709290914410.3579@woody.linux-foundation.org>
     [not found]   ` <20070929172639.GB7037@bitmover.com>
     [not found]     ` <alpine.LFD.0.999.0709291050200.3579@woody.linux-foundation.org>
2007-10-02  0:59       ` tcp bw in 2.6 Larry McVoy
2007-10-02  2:14         ` Linus Torvalds
2007-10-02  2:20           ` Larry McVoy
2007-10-02  3:50             ` David Miller
2007-10-02  4:23               ` Larry McVoy
2007-10-02 15:06             ` John Heffner
2007-10-02 17:14             ` Rick Jones
2007-10-02 17:20               ` Larry McVoy
2007-10-02 18:01                 ` Rick Jones
2007-10-02 18:40                   ` Larry McVoy
2007-10-02 19:47                     ` Rick Jones
2007-10-02 21:32                     ` David Miller
2007-10-03  7:19               ` Bill Fink
2007-10-02 10:52         ` Herbert Xu
2007-10-02 15:09           ` Larry McVoy
2007-10-02 15:41             ` Larry McVoy
2007-10-02 16:25               ` Larry McVoy
2007-10-02 16:47                 ` Stephen Hemminger
2007-10-02 16:49                   ` Larry McVoy
2007-10-02 17:10                     ` Stephen Hemminger
2007-10-15 12:40                   ` Daniel Schaffrath
2007-10-15 15:49                     ` Stephen Hemminger
2007-10-02 16:34               ` Linus Torvalds
2007-10-02 16:48                 ` Larry McVoy
2007-10-02 21:16                   ` David Miller
2007-10-02 21:26                     ` Larry McVoy
2007-10-02 21:47                       ` David Miller
2007-10-02 22:17                         ` Rick Jones
2007-10-02 22:32                           ` David Miller
2007-10-02 22:36                             ` Larry McVoy
2007-10-02 22:59                               ` Rick Jones
2007-10-03  8:02                               ` David Miller
2007-10-02 16:48               ` Ben Greear
2007-10-02 17:11                 ` Larry McVoy
2007-10-02 17:18                   ` Ben Greear
2007-10-02 17:21                     ` Larry McVoy
2007-10-02 17:54                       ` Stephen Hemminger
2007-10-02 18:35                         ` Larry McVoy
2007-10-02 18:29             ` John Heffner
2007-10-02 19:07               ` Larry McVoy
2007-10-02 19:29                 ` Linus Torvalds
2007-10-02 20:31                   ` David Miller
2007-10-02 19:33                 ` Larry McVoy
2007-10-02 19:53                   ` John Heffner
2007-10-02 20:14                     ` Larry McVoy [this message]
2007-10-02 20:40                       ` Rick Jones
2007-10-02 20:42                       ` Wayne Scott
2007-10-02 21:56                         ` Linus Torvalds
2007-10-02 19:27             ` Linus Torvalds
2007-10-02 19:53               ` Rick Jones
2007-10-02 20:33               ` David Miller
2007-10-02 20:44                 ` Roland Dreier
2007-10-02 21:21                 ` Larry McVoy
2007-10-03 21:13                   ` Pekka Pietikainen
2007-10-03 21:23                     ` Larry McVoy
2007-10-03 21:50                       ` Pekka Pietikainen

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=20071002201420.GE29944@bitmover.com \
    --to=lm@bitmover.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=jheffner@psc.edu \
    --cc=netdev@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=wscott@bitmover.com \
    /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).