Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Enforce some order on the tags; needs flexml 1.8 to get relevant error messages when...
[simgrid.git] / src / surf / workstation_KCCFLN05.c
index 3313042..06f208b 100644 (file)
@@ -100,7 +100,7 @@ static network_link_KCCFLN05_t loopback = NULL;
 static xbt_dict_t parallel_task_network_link_set = NULL;
 //added to work with GTNETS
 static xbt_dict_t router_set = NULL;
-
+static lmm_system_t maxmin_system = NULL;
 /*xbt_dict_t network_link_set = NULL;*/
 
 
@@ -338,7 +338,9 @@ static double share_resources(double now)
       surf_workstation_model->common_public->states.running_action_set;
   double min = generic_maxmin_share_resources(running_actions,
                                              xbt_swag_offset(s_action,
-                                                             variable));
+                                                             variable),
+                                             maxmin_system,
+                                             lmm_solve);
 
   xbt_swag_foreach(action, running_actions) {
     if (action->latency > 0) {
@@ -765,7 +767,7 @@ static surf_action_t execute_parallel_task(int workstation_nb,
   action->generic_action.cost = amount;
   action->generic_action.remains = amount;
   action->generic_action.max_duration = NO_MAX_DURATION;
-  action->generic_action.start = -1.0;
+  action->generic_action.start = surf_get_clock();
   action->generic_action.finish = -1.0;
   action->generic_action.model_type =
       (surf_model_t) surf_workstation_model;
@@ -863,10 +865,10 @@ static void router_free(void *router)
 static void router_new(const char *name)
 {
   static unsigned int nb_routers = 0;
+  router_KCCFLN05_t router;
 
   INFO1("Creating a router %s", name);
 
-  router_KCCFLN05_t router;
   router = xbt_new0(s_router_KCCFLN05_t, 1);
 
   router->name = xbt_strdup(name);
@@ -1302,9 +1304,9 @@ static void model_init_internal(void)
 
   workstation_set = xbt_dict_new();
   router_set = xbt_dict_new();
-  network_link_set = xbt_dict_new();
-
-  xbt_assert0(maxmin_system, "surf_init has to be called first!");
+  network_link_set = xbt_dict_new(); 
+  if (!maxmin_system)
+    maxmin_system = lmm_system_new();
 }
 
 /**************************************/