I've been debugging this a little and there is 
definitely a race condition running multiple iperfs 
between clients and servers.

By  timing the execution :

time iperf -w 256k -f M -t 60 -c 110.110.60.12

[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-353.3 sec  3.24 MBytes  0.01 MBytes/sec

real    5m53.376s
user    0m0.017s
sys     0m0.014s
  
 Note I chose 60 seconds, and wall clock time was  353 seceomd (5m).

 I started strace gainst the stalled process :

 root     25327 25259  0 06:51 ?     00:00:00 time iperf 
 root     25358 25327  0 06:51 ?     00:00:00 iperf -f M -t 60 -c 110.110.60.12

[r...@donnbay05 src]# strace -o /tmp/xx -p 25358
Process 25358 attached - interrupt to quit
Process 25358 detached
[r...@donnbay05 src]# tail /tmp/xx
futex(0x60fa24, FUTEX_WAIT_PRIVATE, 7, NULL) = -1 EINTR (Interrupted system 
call)
futex(0x60fa24, FUTEX_WAIT_PRIVATE, 7, NULL) = -1 EAGAIN (Resource temporarily 
unavailable)
futex(0x60fa50, FUTEX_WAKE_PRIVATE, 1)  = 0
futex(0x60fa24, FUTEX_WAIT_PRIVATE, 9, NULL) = 0
futex(0x60fa50, FUTEX_WAKE_PRIVATE, 1)  = 0
exit_group(0)                           = ?


Umm. I was expecting it to be waiting on a recvmsg() or sendmsg();-} .


I can't find "futex" syscall in the iperf binary using objdump ...

PS: Using -P1 or building iperf with no threads yielded the 
same behaviour. 




-----Original Message-----
From: Tom Throckmorton [mailto:[email protected]] 
Sent: Monday, April 19, 2010 5:00 PM
To: Donnelly, John
Cc: Jon Dugan; iperf-users
Subject: Re: [Iperf-users] 2.0.5b1 iperf runs beyond time limit too

On Apr 19 20:08, Donnelly, John wrote:
>  Thanks Jon.
> 
>  The 2.0.5b1 behaves the same way in that a process runs  longer than 
> desired (note 687 seconds) :
> 
> 
> Starting 4o iPerf Mon Apr 19 15:03:09 CDT 2010  ====== 4o ===== ssh -f 
> -l root 10.10.50.2 iperf -w 256k -f M -t 60 -c 110.110.60.11 ssh -f -l 
> root 10.10.50.2 iperf -w 256k -f M -t 60 -c 110.110.60.12 ssh -f -l 
> root 10.10.50.2 iperf -w 256k -f M -t 60 -c 110.110.60.13 ssh -f -l 
> root 10.10.50.2 iperf -w 256k -f M -t 60 -c 110.110.60.14
> [  3]  0.0-60.0 sec  21608 MBytes   360 MBytes/sec
> [  3]  0.0-60.0 sec  21456 MBytes   358 MBytes/sec
> [  3]  0.0-60.0 sec  21454 MBytes   358 MBytes/sec
> [  3]  0.0-687.7 sec  1.05 MBytes  0.00 MBytes/sec
> 
> I'm assuming the process is missing SIGARLM, however I don't see how 
> it is being handled in the program.  Caught signals are sent to a 
> function "Sig_Interupt" or "my_signal" .. which I don't seem to have the 
> source to:
> 
> [r...@donnbay05 src]# egrep "my_sig|SIGALRM|Sig_Int"  *
> 
> main.cpp:    my_signal( SIGTERM, Sig_Interupt );
> main.cpp:    my_signal( SIGINT,  Sig_Interupt );
> main.cpp:    my_signal( SIGALRM,  Sig_Interupt );
> main.cpp:void Sig_Interupt( int inSigno ) { Server.cpp:void 
> Server::Sig_Int( int inSigno ) {
> service.c:    Sig_Interupt( 1 )

See compat/signal.c and include/util.h

http://www.google.com/codesearch?q=my_signal+package%3Ahttp%3A%2F%2Fiperf\.googlecode\.com&origq=my_signal&btnG=Search+Trunk

-tt

> 
> I
> How does the test terminate ? 
> 
> Suggestions welcomed.
> 
> 
> JD
> ////
> 
> 
> 
> 
> -----Original Message-----
> From: Jon Dugan [mailto:[email protected]]
> Sent: Friday, April 16, 2010 4:16 PM
> To: iperf-users
> Subject: Re: [Iperf-users] iperf runs beyond time limit
> 
> Excerpts from Donnelly, John's message of Fri Apr 16 15:58:55 -0500 2010:
> > thx . 
> >  I'll try the 3.xx version .
> 
> Iperf 3.x is alpha quality at this point.  I'd wouldn't suggest it for actual 
> use just yet.  I just hired a summer intern who will be working with me to 
> get Iperf 3 up to snuff.
> 
> I'd suggest the 2.0.5b1 release I made two weeks ago:
> 
> http://sourceforge.net/projects/iperf/files/iperf-2.0.5b1.tar.gz/downl
> oad
> 
> Jon
> --
> Jon M. Dugan <[email protected]>
> ESnet Network Engineering Group
> Lawrence Berkeley National Laboratory
> 
> ----------------------------------------------------------------------
> -------- Download Intel&#174; Parallel Studio Eval Try the new 
> software tools for yourself. Speed compiling, find bugs proactively, and 
> fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Iperf-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/iperf-users
> 
> ----------------------------------------------------------------------
> -------- Download Intel&#174; Parallel Studio Eval Try the new 
> software tools for yourself. Speed compiling, find bugs proactively, 
> and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Iperf-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/iperf-users

--
Tom Throckmorton
MCNC - Advanced Services Development
3021 Cornwallis Road
Research Triangle Park, NC 27709
919.248.1448

"Connecting North Carolina's future today"

------------------------------------------------------------------------------
_______________________________________________
Iperf-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iperf-users

Reply via email to