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)
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()
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;