Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Compile with flag NDEBUG.
[simgrid.git] / src / surf / surf.c
index 0644b8b..edb6f37 100644 (file)
@@ -121,6 +121,9 @@ s_surf_model_description_t surf_network_model_description[] = {
   {"LV08",
    "Realistic network model with lmm_solve and these correction factors: latency*=10.4, bandwidth*=.92, S=8775",
    NULL, surf_network_model_init_LegrandVelho},
+   {"LV08_im",
+    "Realistic network model with IMPROVED ACTION MANAGEMENT and these correction factors: latency*=10.4, bandwidth*=.92, S=8775",
+    NULL, im_surf_network_model_init_LegrandVelho},
   {"SMPI",
    "Realistic network model with lmm_solve and correction factors on three intervals (< 1KiB, < 64 KiB, >= 64 KiB)",
    NULL, surf_network_model_init_SMPI},
@@ -202,6 +205,7 @@ int find_model_description(s_surf_model_description_t * table,
   }
   xbt_assert2(0, "Model '%s' is invalid! Valid models are: %s.", name,
               name_list);
+  return -1;
 }
 
 double generic_maxmin_share_resources(xbt_swag_t running_actions,
@@ -306,6 +310,7 @@ void surf_init(int *argc, char **argv)
     history = tmgr_history_new();
 
   surf_config_init(argc, argv);
+  surf_action_init();
   if (MC_IS_ENABLED)
     MC_memory_init();
 }
@@ -359,6 +364,7 @@ void surf_exit(void)
     tmgr_history_free(history);
     history = NULL;
   }
+  surf_action_exit();
 
   if (surf_path)
     xbt_dynar_free(&surf_path);
@@ -463,10 +469,14 @@ double surf_solve(double max_date)
   xbt_dynar_foreach(model_list, iter, model)
       model->model_private->update_actions_state(NOW, min);
 
+#ifdef HAVE_TRACING
+  TRACE_paje_dump_buffer (0);
+#endif
+
   return min;
 }
 
-double surf_get_clock(void)
+XBT_INLINE double surf_get_clock(void)
 {
   return NOW;
 }