X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d84ec6831b616ae6f3706193ba326f4bded68f64..f706837452870c96a5e4278c0b7d1b5f8bde99b0:/src/amok/Bandwidth/saturate.c diff --git a/src/amok/Bandwidth/saturate.c b/src/amok/Bandwidth/saturate.c index bb78fc8561..1f5e2d83de 100644 --- a/src/amok/Bandwidth/saturate.c +++ b/src/amok/Bandwidth/saturate.c @@ -112,6 +112,9 @@ static int amok_bw_cb_sat_start(gras_msg_cb_ctx_t ctx, void *payload){ * * Note that the only way to break this function before the end of the timeout * is to have a remote host calling amok_bw_saturate_stop to this process. + * + * If duration=0, the experiment will never timeout (you then have to manually + * stop it) */ void amok_bw_saturate_begin(const char* to_name,unsigned int to_port, unsigned int msg_size, double duration, @@ -183,7 +186,7 @@ void amok_bw_saturate_begin(const char* to_name,unsigned int to_port, elapsed=gras_os_time()-start; VERB2("elapsed %f duration %f",elapsed, duration); - } while (saturate_further && elapsed < duration); + } while (duration==0 || (saturate_further && elapsed < duration)); bw = ((double)(packet_sent*msg_size)) / elapsed; @@ -192,11 +195,6 @@ void amok_bw_saturate_begin(const char* to_name,unsigned int to_port, if (bw_res) *bw_res = bw; - if (elapsed >= duration) { - INFO2("Saturation experiment terminated. Took %f sec (achieving %f kb/s)", - elapsed, bw/1024.0); - } - /* If someone stopped us, inform him about the achieved bandwidth */ if (msg_got.expe) { bw_res_t answer = xbt_new(s_bw_res_t,1); @@ -215,8 +213,8 @@ void amok_bw_saturate_begin(const char* to_name,unsigned int to_port, gras_msg_rpcreturn(60,&ctx,&answer); free(answer); } else { - INFO3("Saturation from %s to %s elapsed after %f sec", - gras_os_myname(),to_name,duration); + INFO4("Saturation from %s to %s elapsed after %f sec (achieving %f kb/s)", + gras_os_myname(),to_name,elapsed,bw/1024.0); } gras_socket_close(meas); @@ -290,6 +288,8 @@ void amok_bw_saturate_stop(const char* from_name,unsigned int from_port, gras_socket_t sock = gras_socket_client(from_name,from_port); bw_res_t answer; + VERB2("Ask %s:%d to stop the saturation", + from_name,from_port); gras_msg_rpccall(sock,60,gras_msgtype_by_name("amok_bw_sat stop"),NULL,&answer); gras_socket_close(sock); if (time) *time=answer->sec;