Subject: Re: tcp bw in 2.6

From: John Heffner <[email-masked]>
Date: Tue, 02 Oct 2007 14:29:03 -0400

Larry McVoy wrote:
> On Tue, Oct 02, 2007 at 06:52:54PM +0800, Herbert Xu wrote:
>>> One of my clients also has gigabit so I played around with just that
>>> one and it (itanium running hpux w/ broadcom gigabit) can push the load
>>> as well.  One weird thing is that it is dependent on the direction the
>>> data is flowing.  If the hp is sending then I get 46MB/sec, if linux is
>>> sending then I get 18MB/sec.  Weird.  Linux is debian, running 
>> First of all check the CPU load on both sides to see if either
>> of them is saturating.  If the CPU's fine then look at the tcpdump
>> output to see if both receivers are using the same window settings.
> 
> tcpdump is a good idea, take a look at this.  The window starts out
> at 46 and never opens up in my test case, but in the rsh case it 
> starts out the same but does open up.  Ideas?

(Binary tcpdumps are always better than ascii.)

The window on the sender (linux box) starts at 46.  It doesn't open up, 
but it's not receiving data so it doesn't matter, and you don't expect 
it to.  The HP box always announces a window of 32768.

Looks like you have TSO enabled.  Does it behave differently if it's 
disabled?  I think Rick Jones is on to something with the HP ack 
avoidance.  Looks like a pretty low ack ratio, and it might not be 
interacting well with TSO, especially at such a small window size.

   -John