if (((surf_action_network_CM02_t) action)->variable)
lmm_variable_free(network_maxmin_system,
((surf_action_network_CM02_t) action)->variable);
+#ifdef HAVE_TRACING
+ xbt_free (((surf_action_network_CM02_t)action)->src_name);
+ xbt_free (((surf_action_network_CM02_t)action)->dst_name);
+#endif
free(action);
return 1;
}
*/
xbt_swag_foreach_safe(action, next_action, running_actions) {
-
-#ifdef HAVE_TRACING
- xbt_dynar_t route = used_routing->get_route(action->src, action->dst);
- link_CM02_t link;
- unsigned int i;
- xbt_dynar_foreach(route, i, link) {
- TRACE_surf_link_set_utilization (link->lmm_resource.generic_resource.name,
- action->generic_action.data, lmm_variable_getvalue(action->variable), now-delta, delta);
- }
-#endif
-
deltap = delta;
if (action->latency > 0) {
if (action->latency > deltap) {
lmm_update_variable_weight(network_maxmin_system, action->variable,
action->weight);
}
+#ifdef HAVE_TRACING
+ xbt_dynar_t route = used_routing->get_route(action->src, action->dst);
+ link_CM02_t link;
+ unsigned int i;
+ xbt_dynar_foreach(route, i, link) {
+ TRACE_surf_link_set_utilization (link->lmm_resource.generic_resource.name,
+ action->generic_action.data, lmm_variable_getvalue(action->variable), now-delta, delta);
+ }
+#endif
double_update(&(action->generic_action.remains),
lmm_variable_getvalue(action->variable) * deltap);
if (action->generic_action.max_duration != NO_MAX_DURATION)
static surf_action_t net_communicate(const char *src_name, const char *dst_name,
- int src, int dst, double size, double rate)
+ double size, double rate)
{
unsigned int i;
link_CM02_t link;
/* LARGE PLATFORMS HACK:
Add a link_CM02_t *link and a int link_nb to network_card_CM02_t. It will represent local links for this node
Use the cluster_id for ->id */
- xbt_dynar_t route = used_routing->get_route(src, dst);
+
+ xbt_dynar_t route = global_routing->get_route(src_name, dst_name);
xbt_dynar_t back_route = NULL;
int constraints_per_variable = 0;
if( sg_network_fullduplex == 1){
- back_route = used_routing->get_route(dst, src);
+ back_route = global_routing->get_route(src_name, dst_name);
}
-
+
/* LARGE PLATFORMS HACK:
total_route_size = route_size + src->link_nb + dst->nb */
} /* LARGE PLATFORMS HACK:
expand also with src->link and dst->link */
- /* saving the src and dst of this communication */
- action->src = src;
- action->dst = dst;
+#ifdef HAVE_TRACING
+ action->src_name = xbt_new (char, strlen(src_name)+1);
+ strncpy (action->src_name, src_name, strlen(src_name)+1);
+
+ action->dst_name = xbt_new (char, strlen(dst_name)+1);
+ strncpy (action->dst_name, dst_name, strlen(dst_name)+1);
+#endif
XBT_OUT;
{
surf_model_exit(surf_network_model);
surf_network_model = NULL;
-
- used_routing->finalize();
+
+ global_routing->finalize();
+
lmm_system_free(network_maxmin_system);
network_maxmin_system = NULL;
}