Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[trace] new type MPI, which is the container type of a MPI process in SMPI
[simgrid.git] / src / instr / instr_routing.c
index e26e3ed..b053a89 100644 (file)
@@ -14,40 +14,6 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_routing, instr, "Tracing platform hierarc
 
 extern xbt_dict_t defined_types; /* from instr_interface.c */
 
-typedef enum {
-  TYPE_VARIABLE,
-  TYPE_LINK,
-  TYPE_CONTAINER,
-  TYPE_STATE,
-} e_entity_types;
-
-typedef struct s_type *type_t;
-typedef struct s_type {
-  char *id;
-  char *name;
-  e_entity_types kind;
-  struct s_type *father;
-  xbt_dict_t children;
-}s_type_t;
-
-typedef enum {
-  INSTR_HOST,
-  INSTR_LINK,
-  INSTR_ROUTER,
-  INSTR_AS,
-} e_container_types;
-
-typedef struct s_container *container_t;
-typedef struct s_container {
-  char *name;     /* Unique name of this container */
-  char *id;       /* Unique id of this container */
-  type_t type;    /* Type of this container */
-  int level;      /* Level in the hierarchy, root level is 0 */
-  e_container_types kind; /* This container is of what kind */
-  struct s_container *father;
-  xbt_dict_t children;
-}s_container_t;
-
 static int platform_created = 0;            /* indicate whether the platform file has been traced */
 static type_t rootType = NULL;              /* the root type */
 static container_t rootContainer = NULL;    /* the root container */
@@ -201,12 +167,6 @@ static container_t newContainer (const char *name, e_container_types kind, conta
   new->name = xbt_strdup (name); // name of the container
   new->id = xbt_strdup (id_str); // id (or alias) of the container
   new->father = father;
-  // father of this container
-  if (new->father){
-    new->father = xbt_dynar_get_ptr(currentContainer, xbt_dynar_length(currentContainer)-1);
-  }else{
-    new->father = NULL;
-  }
   // level depends on level of father
   if (new->father){
     new->level = new->father->level+1;
@@ -230,6 +190,7 @@ static container_t newContainer (const char *name, e_container_types kind, conta
       case INSTR_HOST: new->type = getContainerType ("HOST", new->father->type); break;
       case INSTR_LINK: new->type = getContainerType ("LINK", new->father->type); break;
       case INSTR_ROUTER: new->type = getContainerType ("ROUTER", new->father->type); break;
+      case INSTR_SMPI: new->type = getContainerType ("MPI", new->father->type); break;
       default: xbt_die ("Congratulations, you have found a bug on newContainer function of instr_routing.c"); break;
     }
   }
@@ -417,7 +378,7 @@ static void instr_routing_parse_start_AS ()
     if (TRACE_smpi_is_enabled()) {
       if (!TRACE_smpi_is_grouped()){
         container_t father = xbt_dynar_get_ptr(currentContainer, xbt_dynar_length(currentContainer)-1);
-        type_t mpi = getContainerType("MPI_PROCESS", father->type);
+        type_t mpi = getContainerType("MPI", father->type);
         getStateType ("MPI_STATE", mpi);
         getLinkType ("MPI_LINK", rootType, mpi, mpi);
       }
@@ -466,7 +427,7 @@ static void instr_routing_parse_start_host ()
 
   if (TRACE_smpi_is_enabled()) {
     if (TRACE_smpi_is_grouped()){
-      type_t mpi = getContainerType("MPI_PROCESS", new->type);
+      type_t mpi = getContainerType("MPI", new->type);
       getStateType ("MPI_STATE", mpi);
       getLinkType ("MPI_LINK", rootType, mpi, mpi);
     }