Abysmal re(4) performance under 8.1-STABLE (mid-August)

Ulrich Spörlein uqs at spoerlein.net
Sat Nov 6 12:09:35 UTC 2010


On Sat, 06.11.2010 at 10:37:00 +0100, Ulrich Spörlein wrote:
> Hello Pyun,
> 
> On this new server, I cannot get more than ~280kByte/s up/downstream out of
> re(4) without any tweaking.
> 
> re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>         options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
>         ether 00:21:85:63:74:34
>         inet6 fe80::221:85ff:fe63:7434%re0 prefixlen 64 scopeid 0x1 
>         inet 46.4.12.147 netmask 0xffffffc0 broadcast 46.4.12.191
>         nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
>         media: Ethernet autoselect (100baseTX <half-duplex>)
>         status: active
> 
> re0 at pci0:2:0:0: class=0x020000 card=0x368c1462 chip=0x816810ec rev=0x01 hdr=0x00
>     vendor     = 'Realtek Semiconductor'
>     device     = 'Gigabit Ethernet NIC(NDIS 6.0) (RTL8168/8111/8111c)'
>     class      = network
>     subclass   = ethernet

One more datapoint, I know that this (newer) revision

re0 at pci0:6:0:0: class=0x020000 card=0x75221462 chip=0x816810ec rev=0x02 hdr=0x00

is working just fine in another system/board.

> re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet> port 0xd800-0xd8ff mem 0xfeaff000-0xfeafffff irq 19 at device 0.0 on pci2
> re0: Using 1 MSI messages
> re0: Chip rev. 0x38000000
> re0: MAC rev. 0x00000000
> miibus0: <MII bus> on re0
> rgephy0: <RTL8169S/8110S/8211B media interface> PHY 1 on miibus0
> rgephy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> re0: Ethernet address: 00:21:85:63:74:34
> re0: [FILTER]
> 
> 
> It's interesting to note, that re0 only negotiates half-duplex, where
> linux will negotiate full-duplex (and gets ~10MByte/s as expected).
> 
> Next, I disabled almost all options, except that I cannot disable
> VLAN_MTU, VLAN_HWCSUM. I also forced the adapter into full-duplex.
> 
> # ifconfig re0 -vlanmtu
> # ifconfig re0 -vlanhwcsum
> ifconfig: -vlanhwcsum: bad value
> # ifconfig re0
> re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>         options=88<VLAN_MTU,VLAN_HWCSUM>
>         ether 00:21:85:63:74:34
>         inet6 fe80::221:85ff:fe63:7434%re0 prefixlen 64 scopeid 0x1 
>         inet 46.4.12.147 netmask 0xffffffc0 broadcast 46.4.12.191
>         nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
>         media: Ethernet 100baseTX <full-duplex> (100baseTX <half-duplex>)
>         status: active
> 
> If I then immediately start the test-download, I get a ~2MByte/s spike,
> which quickly returns to something around 250kByte/s.
> 
> Booting with
> hw.pci.enable_msix=0
> hw.pci.enable_msi=0
> 
> I can get almost up to 400kByte/s, but this may be coincidence.
> 
> So this is usually as far as it gets:
> 
> re0  in    190.504 KB/s        246.136 KB/s           66.709 MB
>      out    10.290 KB/s         12.985 KB/s            6.076 MB
> 
> But then I ran tcpdump in another session, and it looks like the ssh traffic on
> the upstream of the interface will make the downloads running in another window
> go faster:
> 
> re0  in    805.961 KB/s          1.577 MB/s          116.523 MB
>      out   222.940 KB/s        502.045 KB/s           19.267 MB
> 
> Any ideas?
> 
> Uli
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"


More information about the freebsd-stable mailing list