Bug 152828 - [em] poor performance on 8.1, 8.2-PRE
Summary: [em] poor performance on 8.1, 8.2-PRE
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 8.2-PRERELEASE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-net (Nobody)
URL:
Keywords: IntelNetworking
Depends on:
Blocks:
 
Reported: 2010-12-04 09:30 UTC by Rick Richard
Modified: 2015-07-23 16:57 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rick Richard 2010-12-04 09:30:15 UTC
The only additions to the kernel config are PF and ALTQ.

After upgrading from 8.0 to 8.1-RELEASE, throughput has been terrible with this card.  I have it connected to a 100baseTX switch.  Using iperf between this machine and another machine I measure only 1.80Mbits/sec coming in but the full 94.8Mbits/sec going out.  

I just upgraded to 8-STABLE hoping for some improvement, but the results are the same.

Now just to be sure, I copied the 8.0-RELEASE em / e1000 driver over to 8-STABLE, rebuilt the kernel, and measured 94.6Mbits/sec coming in and 87.4Mbits/sec going out.  It seems that the post-8.0 driver performs better when transmitting but there is something seriously wrong with the reception of traffic.

dmesg:
FreeBSD 8.1-RELEASE-p2 #2: Fri Dec  3 15:58:41 PST 2010
<snip>
em0: <Intel(R) PRO/1000 Legacy Network Connection 1.0.1> port 0xcc00-0xcc3f mem 0xfdfe0000-0xfdffffff,0xfdfc0000-0xfdfdffff irq 16 1
em0: [FILTER]
em0: Ethernet address: 00:07:e9:19:f0:cc

FreeBSD 8.2-PRERELEASE #3: Fri Dec  3 22:28:42 PST 2010
<snip>
em0: <Intel(R) PRO/1000 Legacy Network Connection 1.0.3> port 0xcc00-0xcc3f mem 0xfdfe0000-0xfdffffff,0xfdfc0000-0xfdfdffff irq 16 1
em0: [FILTER]
em0: Ethernet address: 00:07:e9:19:f0:cc

sysctl -a:
dev.em.0.%desc: Intel(R) PRO/1000 Legacy Network Connection 1.0.3
dev.em.0.%driver: em
dev.em.0.%location: slot=4 function=0
dev.em.0.%pnpinfo: vendor=0x8086 device=0x100e subvendor=0x8086 subdevice=0x002e class=0x020000
dev.em.0.%parent: pci1
<snip for being too long>

ifconfig -a:
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
        ether 00:07:e9:19:f0:cc
        inet 24.176.175.198 netmask 0xfffffff8 broadcast 24.176.175.199
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active

How-To-Repeat: Use same or similar chipset and compare performance between 8.0 and 8.1+

I believe the card is named "Intel PRO/1000 MT Desktop RT"
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2010-12-06 17:54:38 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-net

Over to maintainer(s).
Comment 2 Michael W Lucas 2011-07-20 16:49:08 UTC
I'm seeing the exact same problem here as the original poster. Is
anybody looking at this?

Running FreeBSD 8.2-RELEASE-p1 amd64, from FreeNAS 8.0

sysctls:
dev.em.0.%desc: Intel(R) PRO/1000 Network Connection 7.1.9
dev.em.0.%driver: em
dev.em.0.%location: slot=0 function=0
dev.em.0.%pnpinfo: vendor=0x8086 device=0x108b subvendor=0x8086 subdevice=0x0000 class=0x020000
dev.em.0.%parent: pci1
dev.em.0.nvm: -1
dev.em.0.debug: -1
...

ifconfig:
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
        ether 00:15:17:31:c8:fe
        inet 139.171.199.13 netmask 0xffffff00 broadcast 139.171.199.255
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active

dmesg | grep em0
em0: <Intel(R) PRO/1000 Network Connection 7.1.9> port 0xbc00-0xbc1f mem 0xff6e0000-0xff6fffff irq 16 at device 0.0 on pci1
em0: Using an MSI interrupt
em0: [FILTER]
em0: Ethernet address: 00:15:17:31:c8:fe




-- 
Michael W. Lucas 	
http://www.MichaelWLucas.com/, http://blather.MichaelWLucas.com/
Latest book: Network Flow Analysis http://www.networkflowanalysis.com/
mwlucas@BlackHelicopters.org, Twitter @mwlauthor
Comment 3 Sean Bruno freebsd_committer freebsd_triage 2015-06-30 17:18:17 UTC
This looks sounds like some features missing between if_em.c and if_lem.c

Is this still happening in your tests?
Comment 4 Sean Bruno freebsd_committer freebsd_triage 2015-07-23 16:57:16 UTC
Timing out 2 year old ticket.  If possible please take a look at 10.2r and see what your performance is.