From 0c07b616d38841a028f8a34fe66394e232008b5e Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sun, 11 Dec 2016 21:18:46 +0100 Subject: [PATCH 1/1] kill the s_surf_parsing_link_up_down_t datatype --- src/kernel/routing/AsCluster.cpp | 12 ++++++------ src/kernel/routing/AsClusterTorus.cpp | 12 ++++++------ src/kernel/routing/AsVivaldi.cpp | 7 +++---- src/surf/sg_platf.cpp | 27 +++++++++++++-------------- src/surf/xml/platf_private.hpp | 6 ------ 5 files changed, 28 insertions(+), 36 deletions(-) diff --git a/src/kernel/routing/AsCluster.cpp b/src/kernel/routing/AsCluster.cpp index 6170c5949f..548ef8129d 100644 --- a/src/kernel/routing/AsCluster.cpp +++ b/src/kernel/routing/AsCluster.cpp @@ -116,7 +116,6 @@ void AsCluster::getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) } void AsCluster::create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int , int position){ - s_surf_parsing_link_up_down_t info; char* link_id = bprintf("%s_link_%d", cluster->id, id); s_sg_platf_link_cbarg_t link; @@ -127,18 +126,19 @@ void AsCluster::create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, link.policy = cluster->sharing_policy; sg_platf_new_link(&link); + Link *linkUp, *linkDown; if (link.policy == SURF_LINK_FULLDUPLEX) { char *tmp_link = bprintf("%s_UP", link_id); - info.linkUp = Link::byName(tmp_link); + linkUp = Link::byName(tmp_link); xbt_free(tmp_link); tmp_link = bprintf("%s_DOWN", link_id); - info.linkDown = Link::byName(tmp_link); + linkDown = Link::byName(tmp_link); xbt_free(tmp_link); } else { - info.linkUp = Link::byName(link_id); - info.linkDown = info.linkUp; + linkUp = Link::byName(link_id); + linkDown = linkUp; } - privateLinks_.insert({position, {info.linkUp, info.linkDown}}); + privateLinks_.insert({position, {linkUp, linkDown}}); xbt_free(link_id); } diff --git a/src/kernel/routing/AsClusterTorus.cpp b/src/kernel/routing/AsClusterTorus.cpp index 6053de1f4a..017dbc087f 100644 --- a/src/kernel/routing/AsClusterTorus.cpp +++ b/src/kernel/routing/AsClusterTorus.cpp @@ -62,24 +62,24 @@ namespace simgrid { link.latency = cluster->lat; link.policy = cluster->sharing_policy; sg_platf_new_link(&link); - s_surf_parsing_link_up_down_t info; + Link *linkUp, *linkDown; if (link.policy == SURF_LINK_FULLDUPLEX) { char *tmp_link = bprintf("%s_UP", link_id); - info.linkUp = Link::byName(tmp_link); + linkUp = Link::byName(tmp_link); free(tmp_link); tmp_link = bprintf("%s_DOWN", link_id); - info.linkDown = Link::byName(tmp_link); + linkDown = Link::byName(tmp_link); free(tmp_link); } else { - info.linkUp = Link::byName(link_id); - info.linkDown = info.linkUp; + linkUp = Link::byName(link_id); + linkDown = linkUp; } /* * Add the link to its appropriate position; * note that position rankId*(xbt_dynar_length(dimensions)+has_loopback?+has_limiter?) * holds the link "rankId->rankId" */ - privateLinks_.insert({position + j, {info.linkUp, info.linkDown}}); + privateLinks_.insert({position + j, {linkUp, linkDown}}); dim_product *= current_dimension; xbt_free(link_id); } diff --git a/src/kernel/routing/AsVivaldi.cpp b/src/kernel/routing/AsVivaldi.cpp index 8988735681..216b7880a6 100644 --- a/src/kernel/routing/AsVivaldi.cpp +++ b/src/kernel/routing/AsVivaldi.cpp @@ -63,12 +63,11 @@ void AsVivaldi::setPeerLink(NetCard* netcard, double bw_in, double bw_out, doubl new simgrid::kernel::routing::vivaldi::Coords(netcard, coord); - s_surf_parsing_link_up_down_t info; char* link_up = bprintf("link_%s_UP", netcard->cname()); char* link_down = bprintf("link_%s_DOWN", netcard->cname()); - info.linkUp = surf_network_model->createLink(link_up, bw_out, latency, SURF_LINK_SHARED); - info.linkDown = surf_network_model->createLink(link_down, bw_in, latency, SURF_LINK_SHARED); - privateLinks_.insert({netcard->id(), {info.linkUp, info.linkDown}}); + Link* linkUp = surf_network_model->createLink(link_up, bw_out, latency, SURF_LINK_SHARED); + Link* linkDown = surf_network_model->createLink(link_down, bw_in, latency, SURF_LINK_SHARED); + privateLinks_.insert({netcard->id(), {linkUp, linkDown}}); free(link_up); free(link_down); diff --git a/src/surf/sg_platf.cpp b/src/surf/sg_platf.cpp index 35b2debb58..22ff9809a1 100644 --- a/src/surf/sg_platf.cpp +++ b/src/surf/sg_platf.cpp @@ -237,8 +237,6 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster) XBT_DEBUG("", link_id, cluster->bw, cluster->lat); - s_surf_parsing_link_up_down_t info_lim; - s_surf_parsing_link_up_down_t info_loop; // All links are saved in a matrix; // every row describes a single node; every node may have multiple links. // the first column may store a link from x to x if p_has_loopback is set @@ -246,6 +244,8 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster) // other columns are to store one or more link for the node //add a loopback link + Link* linkUp = nullptr; + Link* linkDown = nullptr; if(cluster->loopback_bw!=0 || cluster->loopback_lat!=0){ char *tmp_link = bprintf("%s_loopback", link_id); XBT_DEBUG("", tmp_link, cluster->loopback_bw); @@ -256,16 +256,16 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster) link.latency = cluster->loopback_lat; link.policy = SURF_LINK_FATPIPE; sg_platf_new_link(&link); - info_loop.linkUp = Link::byName(tmp_link); - info_loop.linkDown = Link::byName(tmp_link); + linkUp = Link::byName(tmp_link); + linkDown = Link::byName(tmp_link); free(tmp_link); auto as_cluster = static_cast(current_as); - as_cluster->privateLinks_.insert( - {rankId * as_cluster->linkCountPerNode_, {info_loop.linkUp, info_loop.linkDown}}); + as_cluster->privateLinks_.insert({rankId * as_cluster->linkCountPerNode_, {linkUp, linkDown}}); } //add a limiter link (shared link to account for maximal bandwidth of the node) + linkUp = linkDown = nullptr; if(cluster->limiter_link!=0){ char *tmp_link = bprintf("%s_limiter", link_id); XBT_DEBUG("", tmp_link, cluster->limiter_link); @@ -276,10 +276,10 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster) link.latency = 0; link.policy = SURF_LINK_SHARED; sg_platf_new_link(&link); - info_lim.linkUp = info_lim.linkDown = Link::byName(tmp_link); + linkUp = linkDown = Link::byName(tmp_link); free(tmp_link); current_as->privateLinks_.insert( - {rankId * current_as->linkCountPerNode_ + current_as->hasLoopback_, {info_lim.linkUp, info_lim.linkDown}}); + {rankId * current_as->linkCountPerNode_ + current_as->hasLoopback_, {linkUp, linkDown}}); } //call the cluster function that adds the others links @@ -747,12 +747,11 @@ void sg_platf_new_hostlink(sg_platf_host_link_cbarg_t hostlink) xbt_assert(dynamic_cast(current_routing), "Only hosts from Cluster and Vivaldi ASes can get an host_link."); - s_surf_parsing_link_up_down_t link_up_down; - link_up_down.linkUp = Link::byName(hostlink->link_up); - link_up_down.linkDown = Link::byName(hostlink->link_down); + simgrid::surf::Link* linkUp = Link::byName(hostlink->link_up); + simgrid::surf::Link* linkDown = Link::byName(hostlink->link_down); - xbt_assert(link_up_down.linkUp, "Link '%s' not found!",hostlink->link_up); - xbt_assert(link_up_down.linkDown, "Link '%s' not found!",hostlink->link_down); + xbt_assert(linkUp, "Link '%s' not found!", hostlink->link_up); + xbt_assert(linkDown, "Link '%s' not found!", hostlink->link_down); auto as_cluster = static_cast(current_routing); @@ -760,5 +759,5 @@ void sg_platf_new_hostlink(sg_platf_host_link_cbarg_t hostlink) surf_parse_error("Host_link for '%s' is already defined!",hostlink->id); XBT_DEBUG("Push Host_link for host '%s' to position %d", netcard->name().c_str(), netcard->id()); - as_cluster->privateLinks_.insert({netcard->id(), {link_up_down.linkUp, link_up_down.linkDown}}); + as_cluster->privateLinks_.insert({netcard->id(), {linkUp, linkDown}}); } diff --git a/src/surf/xml/platf_private.hpp b/src/surf/xml/platf_private.hpp index 61dfdd0f52..12d82e9b10 100644 --- a/src/surf/xml/platf_private.hpp +++ b/src/surf/xml/platf_private.hpp @@ -251,12 +251,6 @@ XBT_PRIVATE void sg_instr_new_router(sg_platf_router_cbarg_t router); XBT_PRIVATE void sg_instr_new_host(simgrid::s4u::Host& host); XBT_PRIVATE void sg_instr_AS_end(); -typedef struct s_surf_parsing_link_up_down *surf_parsing_link_up_down_t; -typedef struct s_surf_parsing_link_up_down { - Link* linkUp; - Link* linkDown; -} s_surf_parsing_link_up_down_t; - SG_END_DECL() namespace simgrid { -- 2.20.1