net.inet.tcp.tso=1 still neceesary with fxp was Re: TCP
differences in 7.2 vs 7.1
Michael L. Squires
mikes at siralan.org
Fri May 22 19:50:14 UTC 2009
On Thu, 21 May 2009, Pyun YongHyeon wrote:
> On Wed, May 20, 2009 at 05:55:29PM -0400, Michael L. Squires wrote:
>> I started having speed problems after shifting from 7.1-STABLE to
>> 7.1-PRERELEASE. They have continued with 7.2-STABLLE.
>> Reverting to the 7.1-STABLE kernel eliminated the problem.
>> After downloading 7.2-STABLE from cvsup.freebsd.org at about 10:40 AM EST
>> on 5/20/2009, doing a buildworld/buildkernel/installkernel/installworld
>> cycle I still need to execute "net.inet.tcp.tso=1" to elminate throughput
>> problems between my home system (on Comcast) and my office PC (connected
>> via a Time-Warner connection). This also affects connections to other
>> systems; downloading Web pages (ebay.com) speeds up after I change the TSO
>> The box in question runs NAT and has an fxp (Intel Pro100) interface
>> connected to a Comcast cable modem and an em (Intel Pro1000) interface
>> connected to the internal network.
>> There are no network errors in "netstat -i" on either interface.
>> The "if_fxp.c" code appears to be the May 7 version.
> You should have cvs rev. 1.266.2.15 of if_fxp.c.
>> This is the dmesg entry for the card in question. The system is a dual Xeon
>> Supermicro 1U box, 1GB RAM, single 300GB IDE hard drive.
>> fxp0: <Intel 82551 Pro/100 Ethernet> port 0xe400-0xe43f mem
>> 0xfebfd000-0xfebfdfff,0xfeb80000-0xfeb9ffff irq 27 at device 7.0 on pci0
>> miibus0: <MII bus> on fxp0
> Since you use both em(4) and fxp(4) I'd like to know which driver
> has the issue. Instead of disabling TSO of network stack try
> disabling TSO for each interface. For instance,
> 1. Diable TSO of em(4) and check you see the same issue
> (ifconfig em0 -tso).
> 2. Diable TSO of fxp(4) and check you see the same issue
> (ifconfig fxp0 -tso).
The version of if_fpx.c is in fact 1.266.2.15.
Connecting to the FreeBSD box from a PC with a bash shell under XP
SP3/Cygwin OpenSSH I find
(1) disable "tso" on the internal "em0" interface has no effect; but
(2) disabling "tso" on the external "fxp0" inteface eliminates the
througput problem. The effect appears to be the same as using sysctl to
disable tso on all interfaces.
With "tso" enabled on the "fxp0" interface the connection (reading email
using "pine" in a large window) hung completely.
There are no errors in "netstat -i" nor in /var/log/messages.
"netstat -e" on the XP PC shows no discards or errors; however, I don't
think I've ever seen a PC under Windows admit to network errors.
The fxp0 interface connects to a Comcast cable modem, which eventually
connects to my office PC which is in the "iga.in.gov" domain hosted by
I'll be happy to run anything else you want.
UN*X at home
More information about the freebsd-stable