Subject: Re: Question on TSO maximum segment sizes.

From: Ben Greear <[email-masked]>
Date: Thu, 11 Oct 2007 17:17:48 -0700

Waskiewicz Jr, Peter P wrote:
>> From: Rick Jones <[email-masked]>
>> Date: Thu, 11 Oct 2007 16:50:46 -0700
>>
>>> For just messing about, might it be possible to tweak the socket 
>>> buffer sizes and tcp_tso_win_divisor to kludge things for a short 
>>> while?  Couldn't ship that way certainly, but assuming 
>> Peter's going 
>>> to get his broken hardware fixed it might let him limp 
>> along until then.
>>
>> TCP dynamically grows the socket buffer sizes unless the 
>> application explicitly sets them via setsockopt() and the 
>> limits imposed in those cases are controlled by 
>> tcp_{,r,w}mem[] sysctls.  Decreasing those will kill 
>> performance exactly for the cases this person cares about.

I just tried turning off my explicit SO_SNDBUF/SO_RCVBUG settings in my app,
and the connection ran very poorly through a link with even a small
bit of latency (~2-4ms I believe).

It ran near gige line speed through a cross-over cable.

I have the sysctl max values set very generous, though the min
and default are fairly small.

This was with kernel 2.6.20.

Was the auto-tuning put in after 2.6.20?  If not, has this
been tested through a higher latency link?  Or, am I confused
and you are talking about some other setsockopt?

Thanks,
Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com