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&group_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.


-------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/iperf-users

Reply via email to