Bug 559943 - Performance regression in e1000e driver or network stack
Performance regression in e1000e driver or network stack
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
13
x86_64 Linux
low Severity high
: ---
: ---
Assigned To: Kernel Maintainer List
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-01-29 07:18 EST by Albert Strasheim
Modified: 2010-10-03 06:43 EDT (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-10-03 06:43:38 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Albert Strasheim 2010-01-29 07:18:41 EST
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 16:58:55 EST
is TSO or GSO enabled?

ethtool -k ethX
Comment 2 Albert Strasheim 2010-02-03 01:45:28 EST
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 07:48:23 EST
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 10:17:19 EDT
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 10:28:13 EDT
I've tested the 2.6.33 and this bug has been resolved.
Comment 6 Stanislaw Gruszka 2010-10-03 06:43:38 EDT
Based of above comment I'm closing the bug.

Note You need to log in before you can comment on or make changes to this bug.