+
+ if (event_type == cpu->power_event) {
+ tmgr_trace_t power_trace;
+ surf_cpu_ti_tgmr_t trace;
+ s_tmgr_event_t val;
+
+ DEBUG3("Finish trace date: %lf value %lf date %lf", surf_get_clock(),
+ value, date);
+ /* update remaining of actions and put in modified cpu swag */
+ cpu_update_remaining_amount(cpu, date);
+ xbt_swag_insert(cpu, modified_cpu);
+
+ power_trace = cpu->avail_trace->levels[0]->power_trace;
+ xbt_dynar_get_cpy(power_trace->event_list,
+ xbt_dynar_length(power_trace->event_list) - 1, &val);
+ /* free old trace */
+ surf_cpu_free_trace(cpu->avail_trace);
+ cpu->power_scale = val.value;
+
+ trace = xbt_new0(s_surf_cpu_ti_tgmr_t, 1);
+ trace->type = TRACE_FIXED;
+ trace->value = val.value;
+ DEBUG1("value %lf", val.value);
+
+ cpu->avail_trace = trace;
+
+ if (tmgr_trace_event_free(event_type))
+ cpu->power_event = NULL;
+ } else if (event_type == cpu->state_event) {