X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/91d1dae3530b50d3897da09435c19f4b0bc27669..5c979a2a19b47295bc467cfda3c6541f60b6fe13:/src/surf/cpu_interface.cpp diff --git a/src/surf/cpu_interface.cpp b/src/surf/cpu_interface.cpp index 232e3811c3..ab78cd7e94 100644 --- a/src/surf/cpu_interface.cpp +++ b/src/surf/cpu_interface.cpp @@ -134,16 +134,16 @@ void CpuModel::updateActionsStateFull(double now, double delta) Cpu::Cpu(Model *model, simgrid::Host *host, xbt_dynar_t speedPeakList, int pstate, int core, double speedPeak, double speedScale, - e_surf_resource_state_t stateInitial) - : Cpu(model, host, NULL/*constraint*/, speedPeakList, pstate, core, speedPeak, speedScale, stateInitial) + int initiallyOn) + : Cpu(model, host, NULL/*constraint*/, speedPeakList, pstate, core, speedPeak, speedScale, initiallyOn) { } Cpu::Cpu(Model *model, simgrid::Host *host, lmm_constraint_t constraint, xbt_dynar_t speedPeakList, int pstate, int core, double speedPeak, - double speedScale, e_surf_resource_state_t stateInitial) - : Resource(model, host->getName().c_str(), constraint, stateInitial) + double speedScale, int initiallyOn) + : Resource(model, host->getName().c_str(), constraint, initiallyOn) , m_core(core) , m_speedPeak(speedPeak) , m_speedScale(speedScale) @@ -210,6 +210,8 @@ void Cpu::setPState(int pstate_index) double new_peak_speed = xbt_dynar_get_as(plist, pstate_index, double); m_pstate = pstate_index; m_speedPeak = new_peak_speed; + + onSpeedChange(); } int Cpu::getPState() @@ -236,6 +238,12 @@ double Cpu::getAvailableSpeed() return m_speedScale; } +void Cpu::onSpeedChange() { + TRACE_surf_host_set_speed(surf_get_clock(), getName(), + m_core * m_speedScale * m_speedPeak); +} + + int Cpu::getCore() { return m_core;