Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MSG: don't keep pointers to a structure freed
[simgrid.git] / src / surf / surf.c
index 5e5937f..a3a685c 100644 (file)
@@ -148,24 +148,16 @@ s_surf_model_description_t surf_network_model_description[] = {
 };
 
 s_surf_model_description_t surf_cpu_model_description[] = {
-  {"Cas01_fullupdate", "CPU classical model time=size/power (Cas01). [Deprecated. Use Cas01 with option --cfg=cpu/optim:Full. The Full option updates all actions at every step, which may be useful for debug.]",
-   surf_cpu_model_init_Cas01},
   {"Cas01",
    "Simplistic CPU model (time=size/power).",
    surf_cpu_model_init_Cas01},
-  {"CpuTI",
-   "CPU classical model time=size/power (Cas01). [Deprecated. Use Cas01 with option --cfg=cpu/optim:TI. The TI optimization is highly optimized when using traces]",
-   surf_cpu_model_init_ti},
   {NULL, NULL,  NULL}      /* this array must be NULL terminated */
 };
 
 s_surf_model_description_t surf_workstation_model_description[] = {
-  {"current_default",
-   "Curent default workstation model (may change with versions of SimGrid). Currently Cas01 and LV08 (with full duplex support) as CPU and Network",
+  {"default",
+   "Default workstation model. Currently, CPU:Cas01 and network:LV08 (with cross traffic enabled)",
    surf_workstation_model_init_current_default},
-  {"CLM03",
-   "Default workstation model, using Cas01 and CM02 as CPU and Network",
-   surf_workstation_model_init_CLM03},
   {"compound",
    "Workstation model that is automatically chosen if you change the network and CPU models",
    surf_workstation_model_init_compound},
@@ -460,7 +452,7 @@ double surf_solve(double max_date)
     }
   }
 
-  XBT_DEBUG("Min for resources (except NS3) : %f", min);
+  XBT_DEBUG("Min for resources (remember that NS3 dont update that value) : %f", min);
 
   XBT_DEBUG("Looking for next trace event");
 
@@ -485,7 +477,10 @@ double surf_solve(double max_date)
         min = model_next_action_end;
     }
 
-    if (next_event_date == -1.0) break;
+    if (next_event_date == -1.0) {
+       XBT_DEBUG("no next TRACE event. Stop searching for it");
+       break;
+    }
 
     if ((min != -1.0) && (next_event_date > NOW + min)) break;
 
@@ -510,11 +505,13 @@ double surf_solve(double max_date)
     }
   } while (1);
 
-  /* FIXME: Moved this test to here to avoid stoping simulation if there are actions running on cpus and all cpus are with availability = 0. 
+  /* FIXME: Moved this test to here to avoid stopping simulation if there are actions running on cpus and all cpus are with availability = 0.
    * This may cause an infinite loop if one cpu has a trace with periodicity = 0 and the other a trace with periodicity > 0.
    * The options are: all traces with same periodicity(0 or >0) or we need to change the way how the events are managed */
-  if (min < 0.0)
+  if (min == -1.0) {
+       XBT_DEBUG("No next event at all. Bail out now.");
     return -1.0;
+  }
 
   XBT_DEBUG("Duration set to %f", min);