From: Martin Quinson Date: Tue, 20 Mar 2012 16:37:21 +0000 (+0100) Subject: Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid X-Git-Tag: v3_7~277 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/4a8a9aee8b2d176fa6b207b030197c91a1030630?hp=29bf476bc3bf54eee8b0c06de97858730829baec Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid --- diff --git a/examples/simdag/goal/goal_test.c b/examples/simdag/goal/goal_test.c index 2f8b28fbbc..0cec495a68 100644 --- a/examples/simdag/goal/goal_test.c +++ b/examples/simdag/goal/goal_test.c @@ -12,6 +12,7 @@ #include "xbt/log.h" #include "xbt/ex.h" #include +#include "xbt/xbt_os_time.h" XBT_LOG_NEW_DEFAULT_CATEGORY(goal, "The GOAL loader into SimDag"); @@ -51,6 +52,7 @@ static void send_one(int from, int to) { int main(int argc, char **argv) { + xbt_os_timer_t timer = xbt_os_timer_new(); /* initialization of SD */ SD_init(&argc, argv); @@ -64,6 +66,8 @@ int main(int argc, char **argv) { ws_list = SD_workstation_get_list(); reclaimed = xbt_dynar_new(sizeof(bcast_task_t),xbt_free_ref); xbt_dynar_t done = NULL; + + xbt_os_timer_start(timer); send_one(0,SD_workstation_get_number()); do { if (done != NULL && !xbt_dynar_is_empty(done)) { @@ -89,6 +93,9 @@ int main(int argc, char **argv) { } done=SD_simulate(-1); } while(!xbt_dynar_is_empty(done)); + xbt_os_timer_stop(timer); + printf("%lf\n", xbt_os_timer_elapsed(timer) ); + xbt_dynar_free(&done); xbt_dynar_free(&reclaimed); diff --git a/include/instr/instr.h b/include/instr/instr.h index 2467a46ef0..7a7669260c 100644 --- a/include/instr/instr.h +++ b/include/instr/instr.h @@ -54,12 +54,12 @@ XBT_PUBLIC(void) TRACE_link_variable_add_with_time (double time, const char *lin XBT_PUBLIC(void) TRACE_link_variable_sub_with_time (double time, const char *link, const char *variable, double value); /* for link variables, but with src and dst used for get_route */ -XBT_PUBLIC(void) TRACE_link_srcdst_variable_set (void *src, void *dst, const char *variable, double value); -XBT_PUBLIC(void) TRACE_link_srcdst_variable_add (void *src, void *dst, const char *variable, double value); -XBT_PUBLIC(void) TRACE_link_srcdst_variable_sub (void *src, void *dst, const char *variable, double value); -XBT_PUBLIC(void) TRACE_link_srcdst_variable_set_with_time (double time, void *src, void *dst, const char *variable, double value); -XBT_PUBLIC(void) TRACE_link_srcdst_variable_add_with_time (double time, void *src, void *dst, const char *variable, double value); -XBT_PUBLIC(void) TRACE_link_srcdst_variable_sub_with_time (double time, void *src, void *dst, const char *variable, double value); +XBT_PUBLIC(void) TRACE_link_srcdst_variable_set (const char *src, const char *dst, const char *variable, double value); +XBT_PUBLIC(void) TRACE_link_srcdst_variable_add (const char *src, const char *dst, const char *variable, double value); +XBT_PUBLIC(void) TRACE_link_srcdst_variable_sub (const char *src, const char *dst, const char *variable, double value); +XBT_PUBLIC(void) TRACE_link_srcdst_variable_set_with_time (double time, const char *src, const char *dst, const char *variable, double value); +XBT_PUBLIC(void) TRACE_link_srcdst_variable_add_with_time (double time, const char *src, const char *dst, const char *variable, double value); +XBT_PUBLIC(void) TRACE_link_srcdst_variable_sub_with_time (double time, const char *src, const char *dst, const char *variable, double value); #else /* HAVE_TRACING */ diff --git a/src/instr/instr_interface.c b/src/instr/instr_interface.c index 2ff128da1f..e49403ad3a 100644 --- a/src/instr/instr_interface.c +++ b/src/instr/instr_interface.c @@ -137,15 +137,23 @@ static void instr_user_variable(double time, } static void instr_user_srcdst_variable(double time, - void *src, - void *dst, + const char *src, + const char *dst, const char *variable, const char *father_type, double value, InstrUserVariable what) { xbt_dynar_t route=NULL; - routing_get_route_and_latency (src, dst, &route,NULL); + network_element_t src_elm = xbt_lib_get_or_null(host_lib,src,ROUTING_HOST_LEVEL); + if(!src_elm) src_elm = xbt_lib_get_or_null(as_router_lib,src,ROUTING_ASR_LEVEL); + if(!src_elm) xbt_die("Element '%s' not found!",src); + + network_element_t dst_elm = xbt_lib_get_or_null(host_lib,dst,ROUTING_HOST_LEVEL); + if(!dst_elm) dst_elm = xbt_lib_get_or_null(as_router_lib,dst,ROUTING_ASR_LEVEL); + if(!dst_elm) xbt_die("Element '%s' not found!",dst); + + routing_get_route_and_latency (src_elm, dst_elm, &route,NULL); unsigned int i; void *link; xbt_dynar_foreach (route, i, link) { @@ -262,32 +270,32 @@ void TRACE_link_variable_sub_with_time (double time, const char *link, const cha } /* for link variables, but with src and dst used for get_route */ -void TRACE_link_srcdst_variable_set (void *src, void *dst, const char *variable, double value) +void TRACE_link_srcdst_variable_set (const char *src, const char *dst, const char *variable, double value) { TRACE_link_srcdst_variable_set_with_time (MSG_get_clock(), src, dst, variable, value); } -void TRACE_link_srcdst_variable_add (void *src, void *dst, const char *variable, double value) +void TRACE_link_srcdst_variable_add (const char *src, const char *dst, const char *variable, double value) { TRACE_link_srcdst_variable_add_with_time (MSG_get_clock(), src, dst, variable, value); } -void TRACE_link_srcdst_variable_sub (void *src, void *dst, const char *variable, double value) +void TRACE_link_srcdst_variable_sub (const char *src, const char *dst, const char *variable, double value) { TRACE_link_srcdst_variable_sub_with_time (MSG_get_clock(), src, dst, variable, value); } -void TRACE_link_srcdst_variable_set_with_time (double time, void *src, void *dst, const char *variable, double value) +void TRACE_link_srcdst_variable_set_with_time (double time, const char *src, const char *dst, const char *variable, double value) { instr_user_srcdst_variable (time, src, dst, variable, "LINK", value, INSTR_US_SET); } -void TRACE_link_srcdst_variable_add_with_time (double time, void *src, void *dst, const char *variable, double value) +void TRACE_link_srcdst_variable_add_with_time (double time, const char *src, const char *dst, const char *variable, double value) { instr_user_srcdst_variable (time, src, dst, variable, "LINK", value, INSTR_US_ADD); } -void TRACE_link_srcdst_variable_sub_with_time (double time, void *src, void *dst, const char *variable, double value) +void TRACE_link_srcdst_variable_sub_with_time (double time, const char *src, const char *dst, const char *variable, double value) { instr_user_srcdst_variable (time, src, dst, variable, "LINK", value, INSTR_US_SUB); }