Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
get trace category from surf_action instead of smx_action when tracing categorized...
[simgrid.git] / src / surf / cpu.c
index eee4107..4dcc8ad 100644 (file)
@@ -151,6 +151,9 @@ static int cpu_action_unref(surf_action_t action)
     if (((surf_action_cpu_Cas01_t) action)->variable)
       lmm_variable_free(cpu_maxmin_system,
                         ((surf_action_cpu_Cas01_t) action)->variable);
+#ifdef HAVE_TRACING
+    if (action->category) xbt_free (action->category);
+#endif
     free(action);
     return 1;
   }
@@ -196,7 +199,7 @@ static void cpu_update_actions_state(double now, double delta)
     cpu_Cas01_t x = lmm_constraint_id(lmm_get_cnst_from_var (cpu_maxmin_system, action->variable, 0));
 
     TRACE_surf_host_set_utilization (x->generic_resource.name,
-              action->generic_action.data, lmm_variable_getvalue(action->variable), now-delta, delta);
+              action->generic_action.data, (surf_action_t)action, lmm_variable_getvalue(action->variable), now-delta, delta);
 #endif
     double_update(&(action->generic_action.remains),
                   lmm_variable_getvalue(action->variable) * delta);
@@ -437,6 +440,7 @@ static void surf_cpu_model_init_internal(void)
   surf_cpu_model->extension.cpu.get_speed = cpu_get_speed;
   surf_cpu_model->extension.cpu.get_available_speed = cpu_get_available_speed;
   surf_cpu_model->extension.cpu.create_resource = cpu_create_resource;
+  surf_cpu_model->extension.cpu.add_traces = add_traces_cpu;
 
   if (!cpu_maxmin_system)
     cpu_maxmin_system = lmm_system_new();