X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a3848e5ea6b2305d6059c89705edaccbec356455..6a8dfdb49f69b809acd48b63087e285e1218cbdb:/src/surf/cpu_ti.c diff --git a/src/surf/cpu_ti.c b/src/surf/cpu_ti.c index 7084967ab3..9a61031cf1 100644 --- a/src/surf/cpu_ti.c +++ b/src/surf/cpu_ti.c @@ -1,5 +1,5 @@ -/* Copyright (c) 2009, 2010. The SimGrid Team. +/* Copyright (c) 2009-2013. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -111,7 +111,7 @@ static surf_cpu_ti_tgmr_t cpu_ti_parse_trace(tmgr_trace_t power_trace, if (!power_trace) { trace->type = TRACE_FIXED; trace->value = value; - XBT_DEBUG("No availabily trace. Constant value = %lf", value); + XBT_DEBUG("No availability trace. Constant value = %lf", value); return trace; } @@ -161,12 +161,12 @@ static void* cpu_ti_create_resource(const char *name, xbt_dynar_t power_peak, name); xbt_assert(core==1,"Multi-core not handled with this model yet"); cpu = (cpu_ti_t) surf_resource_new(sizeof(s_cpu_ti_t), - surf_cpu_model, name,cpu_properties); + surf_cpu_model, name,cpu_properties, NULL); cpu->action_set = xbt_swag_new(xbt_swag_offset(ti_action, cpu_list_hookup)); - xbt_dynar_get_cpy(power_peak, 0, &cpu->power_peak); + xbt_dynar_free(&power_peak); /* kill memory leak */ //cpu->power_peak = power_peak; cpu->pstate = pstate; XBT_DEBUG("CPU create: peak=%lf, pstate=%d",cpu->power_peak, cpu->pstate); @@ -489,7 +489,7 @@ static void cpu_ti_update_actions_state(double now, double delta) /* set the remains to 0 due to precision problems when updating the remaining amount */ GENERIC_ACTION(action).remains = 0; cpu_ti_action_state_set((surf_action_t) action, SURF_ACTION_DONE); - /* update remaining amout of all actions */ + /* update remaining amount of all actions */ cpu_ti_update_remaining_amount(surf_cpu_resource_priv(action->cpu), surf_get_clock()); } #undef GENERIC_ACTION @@ -502,8 +502,6 @@ static void cpu_ti_update_resource_state(void *id, cpu_ti_t cpu = id; surf_action_cpu_ti_t action; - surf_watched_hosts(); - if (event_type == cpu->power_event) { tmgr_trace_t power_trace; surf_cpu_ti_tgmr_t trace; @@ -533,9 +531,11 @@ static void cpu_ti_update_resource_state(void *id, cpu->power_event = NULL; } else if (event_type == cpu->state_event) { - if (value > 0) + if (value > 0) { + if(cpu->state_current == SURF_RESOURCE_OFF) + xbt_dynar_push_as(host_that_restart, char*, (cpu->generic_resource.name)); cpu->state_current = SURF_RESOURCE_ON; - else { + } else { cpu->state_current = SURF_RESOURCE_OFF; /* put all action running on cpu to failed */