Bug 559943

Summary: Performance regression in e1000e driver or network stack
Product: [Fedora] Fedora Reporter: Albert Strasheim <fullung>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 13CC: anton, dougsland, fullung, gansalmon, itamar, jesse.brandeburg, jonathan, kernel-maint, sgruszka
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-03 10:43:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Albert Strasheim 2010-01-29 12:18:41 UTC
Description of problem:

Sending TCP traffic over a e1000e NIC (big packets) transmits at 33 MB/sec instead of 110 MB/sec.

I can see that the CPU core dealing with the interrupts for the network interface is maxed out at 100%.

Everything works fine with kernel-2.6.31.5-127.fc12.x86_64, i.e., I can send at the full line rate without maxing out the CPU dealing with interrupts.

The hardware is a 82571PT Intel NIC in a Sun X6270 blade server.

Version-Release number of selected component (if applicable):

kernel-2.6.33-0.18.rc4.git7.fc13.x86_64

How reproducible:


Steps to Reproduce:
1. Send 1 Gbps traffic over TCP to a machine with a e1000e NIC.
2.
3.
  
Actual results:

Throughput is about 33 MB/sec.

Expected results:

Throughput should be 100 MB/sec.

Additional info:

Comment 1 Jesse Brandeburg 2010-02-02 21:58:55 UTC
is TSO or GSO enabled?

ethtool -k ethX

Comment 2 Albert Strasheim 2010-02-03 06:45:28 UTC
With the 2.6.31 kernel ethtool -k says:

Offload parameters for e1000g0:
Cannot get device flags: Operation not supported
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off

With the 2.6.33rc kernel it says:

Offload parameters for e1000g0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off

So interestingly, on the old kernel, which works, there is that "Cannot get device flags" error.

Comment 3 Albert Strasheim 2010-02-19 12:48:23 UTC
Might be related to this bug reported on kernel.org:

http://bugzilla.kernel.org/show_bug.cgi?id=15192

Comment 4 Bug Zapper 2010-03-15 14:17:19 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 13 development cycle.
Changing version to '13'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 5 Albert Strasheim 2010-03-18 14:28:13 UTC
I've tested the 2.6.33 and this bug has been resolved.

Comment 6 Stanislaw Gruszka 2010-10-03 10:43:38 UTC
Based of above comment I'm closing the bug.