From 5b51bc30c95a522360d981bf0625c37292517f4a Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Thu, 6 Mar 2014 12:56:54 +0100 Subject: [PATCH] Fix build with -Denable_jedule=ON. Closes bug #16653. --- include/instr/jedule/jedule_platform.h | 3 ++- include/instr/jedule/jedule_sd_binding.h | 1 - src/instr/jedule/jedule_platform.c | 4 ++- src/instr/jedule/jedule_sd_binding.c | 33 ++++++++++++------------ 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/include/instr/jedule/jedule_platform.h b/include/instr/jedule/jedule_platform.h index f015b77e13..a623892939 100644 --- a/include/instr/jedule/jedule_platform.h +++ b/include/instr/jedule/jedule_platform.h @@ -57,7 +57,8 @@ void jed_free_jedule(jedule_t jedule); void jedule_add_meta_info(jedule_t jedule, char *key, char *value); -void jed_simgrid_create_container(jed_simgrid_container_t *container, char *name); +void jed_simgrid_create_container(jed_simgrid_container_t *container, + const char *name); void jed_simgrid_add_container(jed_simgrid_container_t parent, jed_simgrid_container_t child); diff --git a/include/instr/jedule/jedule_sd_binding.h b/include/instr/jedule/jedule_sd_binding.h index 53d62eed62..4bed8e1510 100644 --- a/include/instr/jedule/jedule_sd_binding.h +++ b/include/instr/jedule/jedule_sd_binding.h @@ -9,7 +9,6 @@ #include "simgrid_config.h" -#include "simdag/private.h" #include "simdag/datatypes.h" #include "simdag/simdag.h" diff --git a/src/instr/jedule/jedule_platform.c b/src/instr/jedule/jedule_platform.c index b096eeddb4..370058c9cc 100644 --- a/src/instr/jedule/jedule_platform.c +++ b/src/instr/jedule/jedule_platform.c @@ -60,7 +60,9 @@ static void jed_free_container(jed_simgrid_container_t container) { xbt_free(container); } -void jed_simgrid_create_container(jed_simgrid_container_t *container, char *name) { +void jed_simgrid_create_container(jed_simgrid_container_t *container, + const char *name) +{ xbt_assert( name != NULL ); *container = xbt_new0(s_jed_simgrid_container_t,1); diff --git a/src/instr/jedule/jedule_sd_binding.c b/src/instr/jedule/jedule_sd_binding.c index ab945ffeae..4d11263c9d 100644 --- a/src/instr/jedule/jedule_sd_binding.c +++ b/src/instr/jedule/jedule_sd_binding.c @@ -16,6 +16,8 @@ #include "instr/jedule/jedule_platform.h" #include "instr/jedule/jedule_output.h" +#include "simdag/private.h" + #include #ifdef HAVE_JEDULE @@ -57,31 +59,33 @@ static void create_hierarchy(AS_t current_comp, jed_simgrid_container_t current_container) { xbt_dict_cursor_t cursor = NULL; - unsigned int dynar_cursor; char *key; AS_t elem; - sg_routing_edge_t network_elem; + xbt_dict_t routing_sons = surf_AS_get_routing_sons(current_comp); - if(xbt_dict_is_empty(current_comp->routing_sons)) { + if (xbt_dict_is_empty(routing_sons)) { // I am no AS // add hosts to jedule platform + xbt_dynar_t table = surf_AS_get_hosts(current_comp); xbt_dynar_t hosts; + unsigned int dynar_cursor; + sg_host_t host_elem; hosts = xbt_dynar_new(sizeof(char*), NULL); - xbt_dynar_foreach(current_comp->index_network_elm, - dynar_cursor, network_elem) { - xbt_dynar_push_as(hosts, char*, network_elem->name); + xbt_dynar_foreach(table, dynar_cursor, host_elem) { + xbt_dynar_push_as(hosts, char*, sg_host_name(host_elem)); } jed_simgrid_add_resources(current_container, hosts); xbt_dynar_free(&hosts); + xbt_dynar_free(&table); } else { - xbt_dict_foreach(current_comp->routing_sons, cursor, key, elem) { + xbt_dict_foreach(routing_sons, cursor, key, elem) { jed_simgrid_container_t child_container; - jed_simgrid_create_container(&child_container, elem->name); + jed_simgrid_create_container(&child_container, surf_AS_get_name(elem)); jed_simgrid_add_container(current_container, child_container); - XBT_DEBUG("name : %s\n", elem->name); + XBT_DEBUG("name : %s\n", surf_AS_get_name(elem)); create_hierarchy(elem, child_container); } } @@ -94,20 +98,15 @@ void jedule_setup_platform() jed_simgrid_container_t root_container; - jed_create_jedule(&jedule); - root_comp = routing_platf->root; - XBT_DEBUG("root name %s\n", root_comp->name); + root_comp = surf_AS_get_routing_root(); + XBT_DEBUG("root name %s\n", surf_AS_get_name(root_comp)); - // that doesn't work - // type = root_comp->get_network_element_type(root_comp->name); - - jed_simgrid_create_container(&root_container, root_comp->name); + jed_simgrid_create_container(&root_container, surf_AS_get_name(root_comp)); jedule->root_container = root_container; create_hierarchy(root_comp, root_container); - } -- 2.20.1