cvs commit: src/share/man/man4 re.4 src/sys/dev/re if_re.c src/sys/dev/mii rgephy.c src/sys/pci if_rlreg.h

Bill Paul wpaul at FreeBSD.ORG
Wed Jun 28 02:19:24 UTC 2006


> At 11:19 AM 27/06/2006, Bill Paul wrote:
> >[Charset koi8-r unsupported, filtering to ASCII...]
> > > On Mon, Jun 26, 2006 at 08:44:34PM +0000, Bill Paul wrote:
> > > B> wpaul       2006-06-26 20:44:34 UTC
> > > B>
> > > B>   FreeBSD src repository
> > > B>
> > > B>   Modified files:        (Branch: RELENG_6)
> > > B>     share/man/man4       re.4
> > > B>     sys/dev/re           if_re.c
> > > B>     sys/dev/mii          rgephy.c
> > > B>     sys/pci              if_rlreg.h
> > > B>   Log:
> > > B>   MFC updates to the re(4) driver from -current
> > >
> > > Is this going to be working? AFAIK, the new taskqueue API isn't
> > > merged yet.
> >
> >I decided not to use the new taskqueue API so that the code wouldn't
> >diverge too much. I don't have time to provide a lot of maintenance
> >on this, so the less work that's involved, the better. I tested
> >it on both 6.1 and 7.x before checking it in and it seemed fine
> >(though, granted, I'm only able to test it on x86).
> 
> 
> I gave it a try on a test box and it seems to work OK.  Not the 
> fastest around, but I didnt get any timeouts or errors when doing 
> ftps and scps.  Using netblast on AMD64 with the re0 xover cable to 
> an i386 box with a bge0 on the other end.

My test setup is an Intel D915GEV desktop development board (P4, 2.6Ghz)
and a Dual PIII 1.2Ghz no-name Intel server system with an nge(4) NIC.
I subjected the driver to torture testing with netperf (TCP and UDP
in both directions), and with Smartbits (IP forwarding, unidirectional
and bi-directional). I was more concerned with reliability than speed.
The bi-directional Smartbits test is the thing most likely to knock
a driver over (usually due to a race condition), so if it passes that,
I'm usually satisfied. the same tests I run on VxWorks drivers that I
write, incidentally. (The VxWorks 8139/8169 drivers that I wrote had to
pass the same torture tests, on the same board.)

Note that, just for kicks, you might want to try turning on the
checksum offload support:

# ifconfig re0 txcsum
# ifconfig re0 rxcsum

You'll likely only see a performance gain in the TCP stream case.

> i386
> 
> # ifconfig bge0
> bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>          options=18<VLAN_MTU,VLAN_HWTAGGING>
>          inet 10.1.1.2 netmask 0xffffff00 broadcast 10.1.1.255
>          ether 00:10:18:14:27:d5
>          media: Ethernet autoselect (1000baseTX <full-duplex>)
>          status: active
> 
> 
> amd
> 
> 64[amdtest]# ifconfig re0
> re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>          options=18<VLAN_MTU,VLAN_HWTAGGING>
>          inet 10.1.1.1 netmask 0xffffff00 broadcast 10.1.1.255
>          ether 00:0e:2e:00:ea:8e
>          media: Ethernet autoselect (1000baseTX <full-duplex>)
>          status: active
> 64[amdtest]# uname -a
> FreeBSD amdtest.sentex.ca 6.1-STABLE FreeBSD 6.1-STABLE #1: Tue Jun 
> 27 15:25:02 EDT 
> 2006     mdtancsa at amdtest.sentex.ca:/usr/obj/usr/src/sys/amd  amd64
> 64[amdtest]#
> 
> 
> re0 as the client in SMP mode
> 
> 64[amdtest]# dmesg
> Copyright (c) 1992-2006 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>          The Regents of the University of California. All rights reserved.
> FreeBSD 6.1-STABLE #1: Tue Jun 27 15:25:02 EDT 2006
>      mdtancsa at amdtest.sentex.ca:/usr/obj/usr/src/sys/amd
> ACPI APIC Table: <A M I  OEMAPIC >
> Timecounter "i8254" frequency 1193182 Hz quality 0
> CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ (2000.09-MHz K8-class CPU)
>    Origin = "AuthenticAMD"  Id = 0x20f32  Stepping = 2
>    Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
>    Features2=0x1<SSE3>
>    AMD Features=0xe2500800<SYSCALL,NX,MMX+,FFXSR,LM,3DNow+,3DNow>
>    AMD Features2=0x3<LAHF,CMP>
>    Cores per package: 2
> real memory  = 503119872 (479 MB)
> avail memory = 475750400 (453 MB)
> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
>   cpu0 (BSP): APIC ID:  0
>   cpu1 (AP): APIC ID:  1

You carefully avoided disclosing the portion of your dmesg output that
shows exactly which RealTek device(s) you have.

*sigh*

-Bill

--
=============================================================================
-Bill Paul            (510) 749-2329 | Senior Engineer, Master of Unix-Fu
                 wpaul at windriver.com | Wind River Systems
=============================================================================
              <adamw> you're just BEGGING to face the moose
=============================================================================


More information about the cvs-src mailing list