Re: 2.6.12.3 network slowdown?

From: Stephen Hemminger
Date: Wed Jul 27 2005 - 12:56:53 EST


On Wed, 27 Jul 2005 01:44:43 -0700
Howard Chu <hyc@xxxxxxxxxxxxxxx> wrote:

> I just recently compiled the 2.6.12.3 kernel for my x86_64 machine
> (Asus A8V motherboard); was previously running a SuSE-compiled 2.6.8
> kernel (SuSE 9.2 distro). I'm now seeing extremely slow throughput on
> the onboard Yukon (Marvell) ethernet interface, but only in certain
> conditions. Going back to the 2.6.8 kernel shows no slowdown.
>
> I have a few machines connected to a Linksys 5 port 10/100 hub. There
> is also a Linksys WRT54G wireless router on this hub. When doing a
> raw ftp transfer of a large (600MB) file (using a Windows XP client
> to do a GET) with both machines plugged into the hub, I see transfer
> rates only as high as 1MB/sec initially, which quickly degrades to
> ~200KB/sec over a span of 20-30 seconds. Going the opposite
> direction, a PUT runs at a steady 7.5MB/sec.
>
> If I unplug the Windows client and just connect via the wireless
> network, I see GETs run a steady 2.8MB/sec and PUTs run a steady
> 3.2MB/sec, which is about the same as I saw with the 2.6.8 kernel, so
> that all appears normal. (But it's still odd, that adding one hop
> like this avoids the throughput degradation.)
>
> I don't see any collisions or any other errors on the ifconfig
> statistics, just a very slow transmit rate. Does anyone recognize
> this symptom? Any suggestions on tunables to tweak, etc.? (Please cc:
> me directly when replying, thanks.)
>

There a couple of possibilities, one is driver differences. SUSE ships
the SysKonnect vendor driver vs the older version in 2.6.12, and the
TCP congestion and TSO code has changed since 2.6.8.

What is the output of ethtool (ethtool -i and ethtool -k)?
Perhaps one driver has checksum offload on and the other off?
Could you get a tcpdump capture of a slow transfer?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/