X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2143caf36b35ee1c0a92cf29d8454725b418601b..bb1ec3ebdc8aad0b788cfded0ca9bf7b071a6721:/src/surf/cpu_interface.cpp?ds=sidebyside diff --git a/src/surf/cpu_interface.cpp b/src/surf/cpu_interface.cpp index e9fb0c74f3..a22fd69253 100644 --- a/src/surf/cpu_interface.cpp +++ b/src/surf/cpu_interface.cpp @@ -6,7 +6,6 @@ #include #include "cpu_interface.hpp" -#include "plugins/energy.hpp" #include "src/instr/instr_private.h" // TRACE_is_enabled(). FIXME: remove by subscribing tracing to the surf signals XBT_LOG_EXTERNAL_CATEGORY(surf_kernel); @@ -31,10 +30,8 @@ void CpuModel::updateActionsStateLazy(double now, double /*delta*/) XBT_CDEBUG(surf_kernel, "Something happened to action %p", action); if (TRACE_is_enabled()) { Cpu *cpu = static_cast(lmm_constraint_id(lmm_get_cnst_from_var(getMaxminSystem(), action->getVariable(), 0))); - TRACE_surf_host_set_utilization(cpu->getName(), action->getCategory(), - lmm_variable_getvalue(action->getVariable()), - action->getLastUpdate(), - now - action->getLastUpdate()); + TRACE_surf_host_set_utilization(cpu->cname(), action->getCategory(), lmm_variable_getvalue(action->getVariable()), + action->getLastUpdate(), now - action->getLastUpdate()); } action->finish(); @@ -49,16 +46,12 @@ void CpuModel::updateActionsStateLazy(double now, double /*delta*/) //without losing the event ascending order (considering all CPU's) double smaller = -1; ActionList *actionSet = getRunningActionSet(); - for(ActionList::iterator it(actionSet->begin()), itend(actionSet->end()) - ; it != itend ; ++it) { + ActionList::iterator it(actionSet->begin()); + ActionList::iterator itend(actionSet->end()); + for (; it != itend; ++it) { CpuAction *action = static_cast(&*it); - if (smaller < 0) { - smaller = action->getLastUpdate(); - continue; - } - if (action->getLastUpdate() < smaller) { - smaller = action->getLastUpdate(); - } + if (smaller < 0 || action->getLastUpdate() < smaller) + smaller = action->getLastUpdate(); } if (smaller > 0) { TRACE_last_timestamp_to_dump = smaller; @@ -70,19 +63,17 @@ void CpuModel::updateActionsStateFull(double now, double delta) { CpuAction *action = nullptr; ActionList *running_actions = getRunningActionSet(); - - for(ActionList::iterator it(running_actions->begin()), itNext=it, itend(running_actions->end()) - ; it != itend ; it=itNext) { + ActionList::iterator it(running_actions->begin()); + ActionList::iterator itNext = it; + ActionList::iterator itend(running_actions->end()); + for (; it != itend; it = itNext) { ++itNext; action = static_cast(&*it); if (TRACE_is_enabled()) { Cpu *cpu = static_cast (lmm_constraint_id(lmm_get_cnst_from_var(getMaxminSystem(), action->getVariable(), 0)) ); - TRACE_surf_host_set_utilization(cpu->getName(), - action->getCategory(), - lmm_variable_getvalue(action->getVariable()), - now - delta, - delta); + TRACE_surf_host_set_utilization(cpu->cname(), action->getCategory(), lmm_variable_getvalue(action->getVariable()), + now - delta, delta); TRACE_last_timestamp_to_dump = now - delta; } @@ -134,6 +125,7 @@ Cpu::Cpu(Model* model, simgrid::s4u::Host* host, lmm_constraint_t constraint, st Cpu::~Cpu() = default; +/** @brief The amount of flop per second that this CPU can compute at its current DVFS level */ double Cpu::getPstateSpeedCurrent() { return speed_.peak; @@ -147,8 +139,8 @@ int Cpu::getNbPStates() void Cpu::setPState(int pstate_index) { xbt_assert(pstate_index <= static_cast(speedPerPstate_.size()), - "Invalid parameters for CPU %s (pstate %d > length of pstates %d)", getName(), pstate_index, - static_cast(speedPerPstate_.size())); + "Invalid parameters for CPU %s (pstate %d > length of pstates %d)", cname(), pstate_index, + static_cast(speedPerPstate_.size())); double new_peak_speed = speedPerPstate_[pstate_index]; pstate_ = pstate_index; @@ -181,7 +173,8 @@ double Cpu::getAvailableSpeed() } void Cpu::onSpeedChange() { - TRACE_surf_host_set_speed(surf_get_clock(), getName(), coresAmount_ * speed_.scale * speed_.peak); + TRACE_surf_host_set_speed(surf_get_clock(), cname(), coresAmount_ * speed_.scale * speed_.peak); + s4u::Host::onSpeedChange(*host_); } int Cpu::coreCount() @@ -220,7 +213,7 @@ void CpuAction::updateRemainingLazy(double now) if (TRACE_is_enabled()) { Cpu *cpu = static_cast(lmm_constraint_id(lmm_get_cnst_from_var(getModel()->getMaxminSystem(), getVariable(), 0))); - TRACE_surf_host_set_utilization(cpu->getName(), getCategory(), lastValue_, lastUpdate_, now - lastUpdate_); + TRACE_surf_host_set_utilization(cpu->cname(), getCategory(), lastValue_, lastUpdate_, now - lastUpdate_); } XBT_CDEBUG(surf_kernel, "Updating action(%p): remains is now %f", this, remains_); } @@ -236,6 +229,7 @@ void CpuAction::setState(Action::State state){ Action::setState(state); onStateChange(this, previous); } +/** @brief returns a list of all CPUs that this action is using */ std::list CpuAction::cpus() { std::list retlist; lmm_system_t sys = getModel()->getMaxminSystem();