Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
kill an unused function
[simgrid.git] / src / surf / surf_c_bindings.cpp
index 7d3554e..6ea7968 100644 (file)
@@ -26,14 +26,7 @@ static VM *get_casted_vm(surf_resource_t resource){
   return static_cast<VM*>(surf_host_resource_priv(resource));
 }
 
-char *surf_routing_edge_name(sg_routing_edge_t edge){
-  return edge->getName();
-}
-
 extern double NOW;
-extern double *surf_mins; /* return value of share_resources for each model */
-extern int surf_min_index;       /* current index in surf_mins */
-extern double surf_min;               /* duration determined by surf_solve */
 
 void surf_presolve(void)
 {
@@ -44,8 +37,8 @@ void surf_presolve(void)
   Model *model = NULL;
   unsigned int iter;
 
-  XBT_DEBUG
-      ("First Run! Let's \"purge\" events and put models in the right state");
+  XBT_DEBUG ("First Run! Let's \"purge\" events and put models in the right state");
+
   while ((next_event_date = tmgr_history_next_date(history)) != -1.0) {
     if (next_event_date > NOW)
       break;
@@ -62,39 +55,9 @@ void surf_presolve(void)
       model->updateActionsState(NOW, 0.0);
 }
 
-/**
- * Computes when the next action executed in a
- * specific model terminates; this is important,
- * because we can safely skip the amount of time
- * in which no model (read: not even a single one)
- * changes its state; so, if for instance network,
- * cpu, storage don't change (and if we assume they're
- * the only models we use... simple example here :) )
- * for 2s, 1s, 3s then we can skip 1s as after this
- * amount of time the new state needs to be considered.
- *
- */
-static void surf_share_resources(surf_model_t model)
-{
-  double next_action_end = -1.0;
-  int i = __sync_fetch_and_add(&surf_min_index, 1);
-  if (strcmp(model->getName(), "network NS3")) {
-    XBT_DEBUG("Running for Resource [%s]", model->getName());
-    next_action_end = model->shareResources(NOW);
-    XBT_DEBUG("Resource [%s] : next action end = %f",
-        model->getName(), next_action_end);
-  }
-  surf_mins[i] = next_action_end;
-}
-
-static void surf_update_actions_state(surf_model_t model)
-{
-  model->updateActionsState(NOW, surf_min);
-}
-
 double surf_solve(double max_date)
 {
-  surf_min = -1.0; /* duration */
+  double surf_min = -1.0; /* duration */
   double next_event_date = -1.0;
   double model_next_action_end = -1.0;
   double value = -1.0;
@@ -111,23 +74,18 @@ double surf_solve(double max_date)
   }
 
   XBT_DEBUG("Looking for next action end for all models except NS3");
-
-  if (surf_mins == NULL) {
-    surf_mins = xbt_new(double, xbt_dynar_length(model_list_invoke));
-  }
-  surf_min_index = 0;
-
-  /* sequential version */
   xbt_dynar_foreach(model_list_invoke, iter, model) {
-    surf_share_resources(static_cast<Model*>(model));
-  }
-
-  unsigned i;
-  for (i = 0; i < xbt_dynar_length(model_list_invoke); i++) {
-    if ((surf_min < 0.0 || surf_mins[i] < surf_min)
-        && surf_mins[i] >= 0.0) {
-      surf_min = surf_mins[i];
-    }
+         double next_action_end = -1.0;
+         if (strcmp(model->getName(), "network NS3")) {
+           XBT_DEBUG("Running for Resource [%s]", model->getName());
+           next_action_end = model->shareResources(NOW);
+           XBT_DEBUG("Resource [%s] : next action end = %f",
+               model->getName(), next_action_end);
+         }
+         if ((surf_min < 0.0 || next_action_end < surf_min)
+                         && next_action_end >= 0.0) {
+                 surf_min = next_action_end;
+         }
   }
 
   XBT_DEBUG("Min for resources (remember that NS3 don't update that value) : %f", surf_min);
@@ -195,7 +153,7 @@ double surf_solve(double max_date)
   /* FIXME: model_list or model_list_invoke? revisit here later */
   /* sequential version */
   xbt_dynar_foreach(model_list, iter, model) {
-    surf_update_actions_state(model);
+         model->updateActionsState(NOW, surf_min);
   }
 
   TRACE_paje_dump_buffer (0);