Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Sep 2008 15:44:03 -0700
From:      Jeremy Chadwick <koitsu@FreeBSD.org>
To:        "firmdog@gmail.com" <firmdog@gmail.com>
Cc:        stable@freebsd.org, net@freebsd.org
Subject:   Re: 7.1-PRERELEASE : bad network performance (nfe0)
Message-ID:  <20080928224403.GA90609@icarus.home.lan>
In-Reply-To: <fa1676af0809281530x6b52f4c0n9854aac1f6a33d37@mail.gmail.com>
References:  <wptzc1gu9v.fsf@heho.snv.jussieu.fr> <fa1676af0809281043k269b3d78sbf1e8006f2aa282e@mail.gmail.com> <20080928205300.GF60230@in-addr.com> <fa1676af0809281515x64e93d8fs9b2002d83b909f7a@mail.gmail.com> <20080928222414.GA90269@icarus.home.lan> <fa1676af0809281530x6b52f4c0n9854aac1f6a33d37@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Sep 28, 2008 at 06:30:03PM -0400, firmdog@gmail.com wrote:
> On Sun, Sep 28, 2008 at 6:24 PM, Jeremy Chadwick <koitsu@freebsd.org> wrote:
> 
> > On Sun, Sep 28, 2008 at 06:15:43PM -0400, firmdog@gmail.com wrote:
> > > On Sun, Sep 28, 2008 at 4:53 PM, Gary Palmer <gpalmer@freebsd.org>
> > wrote:
> > >
> > > > On Sun, Sep 28, 2008 at 01:43:12PM -0400, firmdog@gmail.com wrote:
> > > > > I have the same problem on a Dell Poweredge SC440 when I transferred
> > over
> > > > > 50GB
> > > > > from a FreeBSD 5.4 box to my new Dell running 7.1.  Used a crossover
> > > > cable
> > > > > and
> > > > > the link was 1000 full duplex, but could only get about 10M/s.  Very
> > odd.
> > > > > Did a
> > > > > tcpdump and saw lots of bad checksum errors.
> > > > >
> > > > > What other troubleshooting steps can we take?  What could be the
> > problem?
> > > >
> > > > Please post the first few lines of ifconfig for bge0.  I'm suspecting
> > > > you'll see something like
> > > >
> > > > em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> > > >        options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
> > > >
> > > > (yes, I know thats an em, not bge, but I don't have any bge's around
> > > >  here)
> > > >
> > > > Note that the options line say that receive and transmit checksum
> > > > offloading is enabled.  This means that for packets transmitted
> > > > by this system, tcpdump will show checksum errors as the kernel
> > > > is not generating the checksums, the ethernet card will.  Since
> > > > tcpdump is seeting the packet before the ethernet card does its
> > > > magic, you get the checksum errors on transmit.  Received packets
> > > > should be fine though.
> > > >
> > > > Regards,
> > > >
> > > > Gary
> > > >
> > >
> > >
> > > Pasted below.  When I was doing the transfer, it was 1000 full duplex and
> > > was very slow.
> > > This is a web/email/database server and I don't see any performance
> > problems
> > > yet, but
> > > I would like to know what the problem is/was.  What else can I provide?
> > >
> > > bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
> > 1500
> > >         options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
> > >         ether 00:1a:a0:23:c0:03
> > >         inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
> > >         media: Ethernet autoselect (100baseTX <full-duplex>)
> > >         status: active
> >
> > I see 100baseTX there, not 1000baseTX.  This speed is being selected via
> > autoneg (auto speed/duplex negotiation).
> >
> > Whatever switch you're connected to is not properly negotiating the
> > speed.
> >
> > What brand and model of switch is this host connected to, and are you
> > *absolutely certain* it supports (and is configured for) gigE?

> No....you misunderstood.  The 7.1 box was connected to a 5.4 box doing
> a 50GB data transfer over rsync.  Both nics were 1000 full duplex with
> a crossover cable.  The speed performance was terrible and I could
> only get up to 10 Mb/s and there was NO switch involved.
>
> I believe there is a problem or bug involved with the driver.

This is "after the fact" evidence.  The problem is that there are
numerous other factors here which could explain a 10MByte/sec cap,
such as small TCP window sizes or limited disk bandwidth.

Your systems are no longer in this configuration, is that correct?

> Have the drivers or stack been updated in 7.1?  What else can I
> provide?

you're asking me to give you a run-down of the changes in a driver
across **two** major versions of FreeBSD (from 5 to 6 to 7).

There have been changes not just to the driver, but everything
the driver relies on.  I don't think there's necessarily any hard
evidence the "driver" is the problem -- it could be one of a hundred
things.

If you want to review the changes to the bge(4) driver, they are below.
You'll want to look at all of the commit messages between May 9th 2005
and present.

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/if_bge.c

-- 
| Jeremy Chadwick                                jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080928224403.GA90609>