The patch we were talking about is not OS-specific - it is
https://sourceforge.net/tracker/index.php?func=detail&aid=1940009&group_id=128336&atid=711373

Quoting anand:
| Hi Renker, 
| 
|       Is there a patch or a way to reduce the CPU utilization with Iperf
| 1.7.0 for UDP tests in Windows XP ?
| 
| Thanks,
| Anand
| 
| -----Original Message-----
| From: [EMAIL PROTECTED]
| [mailto:[EMAIL PROTECTED] On Behalf Of Gerrit
| Renker
| Sent: Monday, May 12, 2008 11:32 AM
| To: Laurence Kirchmeier
| Cc: [EMAIL PROTECTED]
| Subject: Re: [Iperf-users] Iperf Transmit leading to 100% CPU Utilization
| 
| These measurements agree with local ones seen on Pentium IV and are in the
| area where the nanosleep() patch applies: only UDP (and in other patches,
| DCCP too) uses the delay_loop() to pace the speed of outgoing packets, in
| TCP there is no waiting loop.
| 
| With regard to reducing overall CPU usage it might make sense to look into
| the patches developed by Ingo Molnar. I found that 2.0.4 had quite an
| improved CPU usage (in 2.0.2 without the patches by Ingo Molnar it
| was often between 97%-100%).          
| 
| Gerrit
| 
| Quoting Laurence Kirchmeier:
| |    Compiling the base 2.0.4 code on a MacMini running 10.5, I noticed that
| |    CPU usage remained quite low for TCP based tests between two MacMinis.
| As
| |    soon as I switched to running a UDP test between the 2 MacMinis, the
| CPU
| |    usage was all consumed by the iperf application (90% plus).  I then
| |    applied the patch to the 2.0.4 base code, recompiled and repeated the
| UDP
| |    tests between the 2 MacMinis and CPU usage was now similar to the TCP
| |    tests - below 10%.
| |    Laurie
| |    _______________________________________________
| |    _______________________________________________
| |    Laurence Kirchmeier
| |    MVCS Project Manager & Senior Engineer, Networking R&D
| |    Merit Network Inc.                Tel.  734 936 9703
| |    Email: [EMAIL PROTECTED]     Fax. 734 647 3185
| |    _______________________________________________
| |    _______________________________________________
| |    On May 4, 2008, at 4:36 AM, Oren Meron wrote:
| | 
| |      Hi Gerrit,
| |      Running 2.0.4 version produced in TCP runs much better BW in medium
| size
| |      messages. (340 MB/sec vs 40 MB/sec at 128 bytes msg and 4 processes)
| |      But the cpu usage rises as well at these area (from 10% to 45%).
| |      Applying both the above patches do not improve cpu usage.
| | 
| |      Should I expect a cpu usage reduction, or is it the price for the
| |      improved BW ?
| | 
| |      Thanks,
| | 
| |      Oren   Meron
| |      Performance
| | 
| |      -----Original Message-----
| |      From: [EMAIL PROTECTED]
| |      [mailto:[EMAIL PROTECTED] On Behalf Of
| Gerrit
| |      Renker
| |      Sent: Friday, May 02, 2008 4:05 PM
| |      To: Upakul Barkakaty
| |      Cc: [EMAIL PROTECTED]
| |      Subject: Re: [Iperf-users] Iperf Transmit leading to 100% CPU
| |      Utilization
| | 
| |      Thank you for testing. After this email I also checked again:
| | 
| |       * with the old busy-wait loop, there are three threads, and one is
| |         always close to 100% (I think that is the one you mean);
| | 
| |       * using either of select() or nanosleep() to replace the
| delay_loop()
| |         reduces the number of threads to 2 (the usage is still quite high,
| |         between 80% and 90%).
| | 
| |      I will tidy the patch up, in earlier tests using nanosleep() had in
| |      addition the best resolution.
| | 
| |      Gerrit
| | 
| |      Quoting Upakul Barkakaty:
| |      |    Hi Gerrit,
| |      |
| |      |    Thanks a lot. This patch has really helped.
| |      |
| |      |    --
| |      |    Regards,
| |      |    Upakul Barkakaty
| |      |
| |      |    On 5/2/08, Gerrit Renker <[EMAIL PROTECTED]> wrote:
| |      |
| |      |      Upakul,
| |      |
| |      |      thank you for testing. So it seems the problem is not in this
| |      corner. I
| |      |      also recall comparing the performance of iperf 2.0.4 against
| |      2.0.2 with
| |      |      that patch - Jon has added some condition variables, which
| seem
| |      to have
| |      |      a similar effect (testing with 2.0.4 also gave modest CPU
| usage).
| |      |
| |      |      With regard to the delay loop, the high CPU consumption seems
| |      clear
| |      |      since delay_loop() constantly calls gettimeofday(), i.e.
| issueing
| |      the
| |      |      same system call over and over again in a busy-wait loop.
| Which
| |      agrees
| |      |      with your analysis.
| |      |
| |      |      I have had problems with this, too, but in a different corner:
| |      when
| |      |      measuring the actual times, delay_loop() sometimes added
| |      something like
| |      |      50 milliseconds at random times, which seems like a quantum
| for a
| |      |      context switch.
| |      |
| |      |      It got much better when replacing the busy-wait loop with a
| call
| |      to the
| |      |      Posix function nanosleep(), since this uses hrtimers
| internally
| |      and
| |      |      blocks signals.
| |      |
| |      |      Although the patch was initially not intended to reduce CPU
| |      usage, I
| |      |      could well imagine that it does since removes the busy-wait
| loop.
| |      |
| |      |      If you have a moment of time, could you check out whether this
| |      makes a
| |      |      difference -- it is in the repository, on
| |      |
| |      |      
| |      |
| https://sourceforge.net/tracker/index.php?func=detail&aid=1940009&grou
| |      | p_id=128336&atid=711373
| |      |
| |      |      Best regards
| |      |
| |      |      Gerrit
| |      |
| |      |      Quoting Upakul Barkakaty:
| |      |      |    Hi Gerrit,
| |      |      |
| |      |      |    Thanks a lot for your reply. I indeed tried out the patch
| |      but it
| |      |      did not
| |      |      |    make any difference. I am still seeing 0% CPU Idle.
| |      |      |
| |      |      |    It looks to me as if the delay_loop() function in the
| file
| |      |      Client.cpp is
| |      |      |    holding the processor in the kernel space while adjusting
| |      the
| |      |      thoughput
| |      |      |    speeds, resulting in 0% CPU Idle. On trying out replacing
| |      |      delay_loop() by
| |      |      |    usleep() function, Idle MIPS were seen to be available.
| Or
| |      perhaps
| |      |      is it
| |      |      |    the case that iperf should be used only for throughput
| |      measurement
| |      |      and
| |      |      |    might not be so appropriate for measuring the cpu
| |      utilization?
| |      |      |
| |      |      |    --
| |      |      |    Regards,
| |      |      |    Upakul Barkakaty
| |      |      |
| |      |      |    On 5/2/08, Gerrit Renker <[EMAIL PROTECTED]> wrote:
| |      |      |
| |      |      |      Dear Upakul,
| |      |      |
| |      |      |      if it is not too much of a bother, can you please check
| if
| |      the
| |      |      attached
| |      |      |      patch fixes the CPU usage problem?
| |      |      |
| |      |      |      It is a port of Ingo Molnar's CPU usage fix - we have
| used
| |      that
| |      |      patch in
| |      |      |      iperf with great benefit (the CPU usage went down to
| very
| |      modest
| |      |      |      values).
| |      |      |
| |      |      |      Regards
| |      |      |      Gerrit
| |      |      |
| |      |      |      Quoting Upakul Barkakaty:
| |      |      |      |    Hi Jon,
| |      |      |      |
| |      |      |      |    I have upgraded to Iperf-v2.0.4. But
| unfortunately,
| |      even
| |      |      with this
| |      |      |      version
| |      |      |      |    I observed that the Iperf client was consuming all
| |      the CPU
| |      |      MIPS
| |      |      |      even if it
| |      |      |      |    was running at 1 Mbps.
| |      |
| |      |      The University of Aberdeen is a charity registered in
| Scotland,
| |      No
| |      |      SC013683.
| |      |
| |      |    The University of Aberdeen is a charity registered in Scotland,
| No
| |      |    SC013683.
| | 
| |      --
| | 
| |      The University of Aberdeen is a charity registered in Scotland, No
| |      SC013683.
| | 
| |
| ------------------------------------------------------------------------
| |      -
| |      This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
| Don't
| |      miss this year's exciting event. There's still time to save $100.
| |      Use priority code J8TL2D2.
| |
| http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j
| |      avaone
| |      _______________________________________________
| |      Iperf-users mailing list
| |      Iperf-users@lists.sourceforge.net
| |      https://lists.sourceforge.net/lists/listinfo/iperf-users
| | 
| |
| -------------------------------------------------------------------------
| |      This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
| |      Don't miss this year's exciting event. There's still time to save
| $100.
| |      Use priority code J8TL2D2.
| |
| http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javao
| ne
| |      _______________________________________________
| |      Iperf-users mailing list
| |      Iperf-users@lists.sourceforge.net
| |      https://lists.sourceforge.net/lists/listinfo/iperf-users
| | 
| |    The University of Aberdeen is a charity registered in Scotland, No
| |    SC013683.
| 
| -- 
| 
| 
| The University of Aberdeen is a charity registered in Scotland, No SC013683.
| 
| 
| -------------------------------------------------------------------------
| This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss
| this year's exciting event. There's still time to save $100. 
| Use priority code J8TL2D2. 
| http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javao
| ne
| _______________________________________________
| Iperf-users mailing list
| Iperf-users@lists.sourceforge.net
| https://lists.sourceforge.net/lists/listinfo/iperf-users
| 
| 
| 
| 
| 
| The University of Aberdeen is a charity registered in Scotland, No SC013683.
| 
| 

-- 


The University of Aberdeen is a charity registered in Scotland, No SC013683.


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Iperf-users mailing list
Iperf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iperf-users

Reply via email to