X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a9a7fce452bf5dc36bde5c1e0090b91922d13588..152117af2fbcf4c99d0da5d10a6813aac7eee007:/src/surf/workstation.c diff --git a/src/surf/workstation.c b/src/surf/workstation.c index 9399b42ad1..362092f5eb 100644 --- a/src/surf/workstation.c +++ b/src/surf/workstation.c @@ -233,6 +233,37 @@ static double ws_get_available_speed(void *workstation) get_available_speed(workstation); } +static double ws_get_current_power_peak(void *workstation) +{ + return surf_cpu_model->extension.cpu. + get_current_power_peak(workstation); +} + +static double ws_get_power_peak_at(void *workstation, int pstate_index) +{ + return surf_cpu_model->extension.cpu. + get_power_peak_at(workstation, pstate_index); +} + +static int ws_get_nb_pstates(void *workstation) +{ + return surf_cpu_model->extension.cpu. + get_nb_pstates(workstation); +} + +static void ws_set_power_peak_at(void *workstation, int pstate_index) +{ + surf_cpu_model->extension.cpu. + set_power_peak_at(workstation, pstate_index); +} + +static double ws_get_consumed_energy(void *workstation) +{ + return surf_cpu_model->extension.cpu. + get_consumed_energy(workstation); +} + + static surf_action_t ws_execute_parallel_task(int workstation_nb, void **workstation_list, double *computation_amount, @@ -419,6 +450,11 @@ static void surf_workstation_model_init_internal(void) surf_workstation_model->extension.workstation.get_speed = ws_get_speed; surf_workstation_model->extension.workstation.get_available_speed = ws_get_available_speed; + surf_workstation_model->extension.workstation.get_current_power_peak = ws_get_current_power_peak; + surf_workstation_model->extension.workstation.get_power_peak_at = ws_get_power_peak_at; + surf_workstation_model->extension.workstation.get_nb_pstates = ws_get_nb_pstates; + surf_workstation_model->extension.workstation.set_power_peak_at = ws_set_power_peak_at; + surf_workstation_model->extension.workstation.get_consumed_energy = ws_get_consumed_energy; surf_workstation_model->extension.workstation.communicate = ws_communicate;