Bug 506884

Summary: patches to reduce actually cpu utilization
Product: [Fedora] Fedora Reporter: Kirby Zhou <kirbyzhou>
Component: iperfAssignee: Gabriel Somlo <somlo>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: somlo
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 2.0.4-4.fc12 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-12-18 19:57:25 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:
Attachments:
Description Flags
MY PATCH 1
none
iperf-2.0.4-delayloop.patch
none
iperf-2.0.4-reporterdeadlock.patch
none
iperf-2.0.4-numofreport.patch none

Description Kirby Zhou 2009-06-19 06:26:40 UTC
Description of problem:

The cpu utilization of iperf udp mode is too high (sometimes 200% per session). So simulating multi connections conversation is very very hard. 

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

iperf-2.0.4-2
RHEL-5
Fedora-11

How reproducible:

100%

Steps to Reproduce:
1. install iperf on 2 PC with gigabits ethernet and 4-core CPU.
2. run "iperf -u -s" on one PC
3. run "iperf -u -c $serverip -i1 -b 100M -L $port -l 600 -d -t 100" * 6 on the other PC
  
Actual results:

you can see a incredibility high package loss rate.

Expected results:

The packages are nearly 100% transfered successfully.

Additional info:

I have merged some patches from debian and some my own patches to sovle the problem. The order of patches is:

iperf-2.0.4-debuginfo.patch from fedora
http://patch-tracking.debian.net/patch/series/dl/iperf/2.0.4-4/000-Iperf_Fix-CPU-Usage.diff
http://patch-tracking.debian.net/patch/series/dl/iperf/2.0.4-4/001-cast-to-max_size_t-instead-of-int.patch
http://patch-tracking.debian.net/patch/series/dl/iperf/2.0.4-4/003-fix-hyphen-used-as-minus-sign.patch
http://patch-tracking.debian.net/patch/series/dl/iperf/2.0.4-4/005-iperf-die-on-bind-fail.patch
http://patch-tracking.debian.net/patch/series/dl/iperf/2.0.4-4/006-iperf-die-on-connect-fail.patch
iperf-2.0.4-numofreport.patch from attachments
iperf-2.0.4-delayloop.patch from attachments
iperf-2.0.4-reporterdeadlock.patch from attachments
iperf-2.0.4-tcpdual.patch from fedora

NOTE: YOU MUST NOT USE http://patch-tracking.debian.net/patch/series/dl/iperf/2.0.4-4/004-svn-r43.patch
Because 004-svn-r43.patch can cause high package loss rate with high transfer rate.

Comment 1 Kirby Zhou 2009-06-19 06:27:49 UTC
Created attachment 348610 [details]
MY PATCH 1

Comment 2 Kirby Zhou 2009-06-19 06:28:50 UTC
Created attachment 348611 [details]
iperf-2.0.4-delayloop.patch

Comment 3 Kirby Zhou 2009-06-19 06:29:36 UTC
Created attachment 348612 [details]
iperf-2.0.4-reporterdeadlock.patch

Comment 4 Kirby Zhou 2009-06-19 06:30:03 UTC
Created attachment 348613 [details]
iperf-2.0.4-numofreport.patch

Comment 5 Bug Zapper 2009-11-16 10:15:02 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

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

Comment 6 Fedora Update System 2009-12-01 19:04:28 UTC
iperf-2.0.4-4.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/iperf-2.0.4-4.fc11

Comment 7 Fedora Update System 2009-12-01 19:04:38 UTC
iperf-2.0.4-4.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/iperf-2.0.4-4.fc12

Comment 8 Fedora Update System 2009-12-01 19:04:58 UTC
iperf-2.0.4-4.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/iperf-2.0.4-4.el5

Comment 9 Gabriel Somlo 2009-12-01 19:06:35 UTC
Sorry for the delay, email from when the ticket was opened
must have slipped through the cracks :(

I can no longer get to the debian patches you've linked to.
Also, I would like to keep the amount of out-of-tree patches
to a minimum.

That being said, I applied a patch that brings iperf 2.0.4 up
to the current svn trunk of their upstream, where they've
applied several performance related patches. During my tests,
load on the server as well as packet loss is much reduced with
this patch. Please test and let me know what you think.

https://admin.fedoraproject.org/updates/iperf-2.0.4-4.fc12

Comment 10 Fedora Update System 2009-12-02 20:11:49 UTC
iperf-2.0.4-4.el5 has been pushed to the Fedora EPEL 5 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update iperf'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/EL-5/FEDORA-EPEL-2009-0943

Comment 11 Fedora Update System 2009-12-03 05:10:42 UTC
iperf-2.0.4-4.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update iperf'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2009-12589

Comment 12 Fedora Update System 2009-12-03 05:10:47 UTC
iperf-2.0.4-4.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update iperf'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-12590

Comment 13 Fedora Update System 2009-12-18 19:57:19 UTC
iperf-2.0.4-4.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 14 Fedora Update System 2009-12-22 04:38:44 UTC
iperf-2.0.4-4.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 15 Fedora Update System 2009-12-22 04:42:52 UTC
iperf-2.0.4-4.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.