Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
kill the s_surf_parsing_link_up_down_t datatype
authorMartin Quinson <martin.quinson@loria.fr>
Sun, 11 Dec 2016 20:18:46 +0000 (21:18 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Sun, 11 Dec 2016 20:18:46 +0000 (21:18 +0100)
src/kernel/routing/AsCluster.cpp
src/kernel/routing/AsClusterTorus.cpp
src/kernel/routing/AsVivaldi.cpp
src/surf/sg_platf.cpp
src/surf/xml/platf_private.hpp

index 6170c59..548ef81 100644 (file)
@@ -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){
 }
 
 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;
   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.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);
   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);
     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 {
     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);
 }
 
   xbt_free(link_id);
 }
 
index 6053de1..017dbc0 100644 (file)
@@ -62,24 +62,24 @@ namespace simgrid {
         link.latency = cluster->lat;
         link.policy = cluster->sharing_policy;
         sg_platf_new_link(&link);
         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);
         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);
           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 {
           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"
          */
         }
         /*
          * 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);
       }
         dim_product *= current_dimension;
         xbt_free(link_id);
       }
index 8988735..216b788 100644 (file)
@@ -63,12 +63,11 @@ void AsVivaldi::setPeerLink(NetCard* netcard, double bw_in, double bw_out, doubl
 
   new simgrid::kernel::routing::vivaldi::Coords(netcard, coord);
 
 
   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());
   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);
 
   free(link_up);
   free(link_down);
index 35b2deb..22ff980 100644 (file)
@@ -237,8 +237,6 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
 
     XBT_DEBUG("<link\tid=\"%s\"\tbw=\"%f\"\tlat=\"%f\"/>", link_id, cluster->bw, cluster->lat);
 
 
     XBT_DEBUG("<link\tid=\"%s\"\tbw=\"%f\"\tlat=\"%f\"/>", 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
     // 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
     // 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("<loopback\tid=\"%s\"\tbw=\"%f\"/>", tmp_link, cluster->loopback_bw);
     if(cluster->loopback_bw!=0 || cluster->loopback_lat!=0){
       char *tmp_link = bprintf("%s_loopback", link_id);
       XBT_DEBUG("<loopback\tid=\"%s\"\tbw=\"%f\"/>", 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);
       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<AsCluster*>(current_as);
       free(tmp_link);
 
       auto as_cluster = static_cast<AsCluster*>(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)
     }
 
     //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("<limiter\tid=\"%s\"\tbw=\"%f\"/>", tmp_link, cluster->limiter_link);
     if(cluster->limiter_link!=0){
       char *tmp_link = bprintf("%s_limiter", link_id);
       XBT_DEBUG("<limiter\tid=\"%s\"\tbw=\"%f\"/>", 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);
       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(
       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
     }
 
     //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<simgrid::kernel::routing::AsCluster*>(current_routing),
       "Only hosts from Cluster and Vivaldi ASes can get an host_link.");
 
   xbt_assert(dynamic_cast<simgrid::kernel::routing::AsCluster*>(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<simgrid::kernel::routing::AsCluster*>(current_routing);
 
 
   auto as_cluster = static_cast<simgrid::kernel::routing::AsCluster*>(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());
     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}});
 }
 }
index 61dfdd0..12d82e9 100644 (file)
@@ -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();
 
 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 {
 SG_END_DECL()
 
 namespace simgrid {