Bug 559943 - Performance regression in e1000e driver or network stack
Summary: Performance regression in e1000e driver or network stack
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 13
Hardware: x86_64
OS: Linux
low
high
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-01-29 12:18 UTC by Albert Strasheim
Modified: 2010-10-03 10:43 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-10-03 10:43:38 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

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.


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