X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e20d6e2c634bba1e7d1b2ca4e9b7627338655c23..9ae37b5e7bcca89a9574f9ae0a01e929f025aed5:/src/surf/cpu_ti.c diff --git a/src/surf/cpu_ti.c b/src/surf/cpu_ti.c index a67b44536f..47a3e3e157 100644 --- a/src/surf/cpu_ti.c +++ b/src/surf/cpu_ti.c @@ -156,17 +156,17 @@ static cpu_ti_t cpu_ti_new(char *name, double power_peak, s_tmgr_event_t val; cpu_ti_t cpu = xbt_new0(s_cpu_ti_t, 1); s_surf_action_cpu_ti_t ti_action; - xbt_assert1(!surf_model_resource_by_name(surf_cpu_model, name), + xbt_assert(!surf_cpu_resource_by_name(name), "Host '%s' declared several times in the platform file", name); - xbt_assert0(core==1,"Multi-core not handled with this model yet"); + xbt_assert(core==1,"Multi-core not handled with this model yet"); cpu->action_set = xbt_swag_new(xbt_swag_offset(ti_action, cpu_list_hookup)); cpu->generic_resource.model = surf_cpu_model; cpu->generic_resource.name = name; cpu->generic_resource.properties = cpu_properties; cpu->power_peak = power_peak; - xbt_assert0(cpu->power_peak > 0, "Power has to be >0"); + xbt_assert(cpu->power_peak > 0, "Power has to be >0"); XBT_DEBUG("power scale %lf", power_scale); cpu->power_scale = power_scale; cpu->avail_trace = cpu_ti_parse_trace(power_trace, power_scale); @@ -185,8 +185,7 @@ static cpu_ti_t cpu_ti_new(char *name, double power_peak, cpu->avail_trace->last_time, 0, cpu); } } - xbt_dict_set(surf_model_resource_set(surf_cpu_model), name, cpu, - surf_resource_free); + xbt_lib_set(host_lib, name, SURF_CPU_LEVEL, cpu); return cpu; } @@ -206,7 +205,7 @@ static void parse_cpu_ti_init(void) power_trace = tmgr_trace_new(A_surfxml_host_availability_file); surf_parse_get_int(&core, A_surfxml_host_core); - xbt_assert0((A_surfxml_host_state == A_surfxml_host_state_ON) || + xbt_assert((A_surfxml_host_state == A_surfxml_host_state_ON) || (A_surfxml_host_state == A_surfxml_host_state_OFF), "Invalid state"); if (A_surfxml_host_state == A_surfxml_host_state_ON) @@ -236,10 +235,10 @@ static void add_traces_cpu_ti(void) /* connect all traces relative to hosts */ xbt_dict_foreach(trace_connect_list_host_avail, cursor, trace_name, elm) { tmgr_trace_t trace = xbt_dict_get_or_null(traces_set_list, trace_name); - cpu_ti_t cpu = surf_model_resource_by_name(surf_cpu_model, elm); + cpu_ti_t cpu = surf_cpu_resource_by_name(elm); - xbt_assert1(cpu, "Host %s undefined", elm); - xbt_assert1(trace, "Trace %s undefined", trace_name); + xbt_assert(cpu, "Host %s undefined", elm); + xbt_assert(trace, "Trace %s undefined", trace_name); if (cpu->state_event) { XBT_DEBUG("Trace already configured for this CPU(%s), ignoring it", @@ -252,10 +251,10 @@ static void add_traces_cpu_ti(void) xbt_dict_foreach(trace_connect_list_power, cursor, trace_name, elm) { tmgr_trace_t trace = xbt_dict_get_or_null(traces_set_list, trace_name); - cpu_ti_t cpu = surf_model_resource_by_name(surf_cpu_model, elm); + cpu_ti_t cpu = surf_cpu_resource_by_name(elm); - xbt_assert1(cpu, "Host %s undefined", elm); - xbt_assert1(trace, "Trace %s undefined", trace_name); + xbt_assert(cpu, "Host %s undefined", elm); + xbt_assert(trace, "Trace %s undefined", trace_name); XBT_DEBUG("Add power trace: %s to CPU(%s)", trace_name, elm); if (cpu->avail_trace) @@ -755,21 +754,24 @@ static void cpu_ti_create_resource(char *name, double power_peak, tmgr_trace_t state_trace, xbt_dict_t cpu_properties) { - xbt_assert0(core==1,"Multi-core not handled with this model yet"); + xbt_assert(core==1,"Multi-core not handled with this model yet"); cpu_ti_new(name, power_peak, power_scale, power_trace, core, state_initial, state_trace, cpu_properties); } static void cpu_ti_finalize(void) { - void *cpu; - xbt_dict_cursor_t cursor; + void **cpu; + xbt_lib_cursor_t cursor; char *key; - xbt_dict_foreach(surf_model_resource_set(surf_cpu_model), cursor, key, - cpu) { - cpu_ti_t CPU = cpu; - xbt_swag_free(CPU->action_set); - surf_cpu_ti_free_tmgr(CPU->avail_trace); + + xbt_lib_foreach(host_lib, cursor, key, cpu){ + if(cpu[SURF_CPU_LEVEL]) + { + cpu_ti_t CPU = cpu[SURF_CPU_LEVEL]; + xbt_swag_free(CPU->action_set); + surf_cpu_ti_free_tmgr(CPU->avail_trace); + } } surf_model_exit(surf_cpu_model);