Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
[simgrid.git] / src / surf / cpu_interface.cpp
index 4e42b21..040472e 100644 (file)
@@ -64,8 +64,10 @@ void CpuModel::updateActionsStateFull(double now, double delta)
   CpuAction *action = nullptr;
   ActionList *running_actions = getRunningActionSet();
   ActionList::iterator it(running_actions->begin());
-  ActionList::iterator itend(running_actions->end()) for (; it != itend; ++it)
-  {
+  ActionList::iterator itNext = it;
+  ActionList::iterator itend(running_actions->end());
+  for (; it != itend; it = itNext) {
+    ++itNext;
     action = static_cast<CpuAction*>(&*it);
     if (TRACE_is_enabled()) {
       Cpu *cpu = static_cast<Cpu*> (lmm_constraint_id(lmm_get_cnst_from_var(getMaxminSystem(), action->getVariable(), 0)) );
@@ -77,17 +79,11 @@ void CpuModel::updateActionsStateFull(double now, double delta)
 
     action->updateRemains(lmm_variable_getvalue(action->getVariable()) * delta);
 
-
     if (action->getMaxDuration() != NO_MAX_DURATION)
       action->updateMaxDuration(delta);
 
-
-    if ((action->getRemainsNoUpdate() <= 0) &&
-        (lmm_get_variable_weight(action->getVariable()) > 0)) {
-      action->finish();
-      action->setState(Action::State::done);
-    } else if ((action->getMaxDuration() != NO_MAX_DURATION) &&
-               (action->getMaxDuration() <= 0)) {
+    if (((action->getRemainsNoUpdate() <= 0) && (lmm_get_variable_weight(action->getVariable()) > 0)) ||
+        ((action->getMaxDuration() != NO_MAX_DURATION) && (action->getMaxDuration() <= 0))) {
       action->finish();
       action->setState(Action::State::done);
     }
@@ -123,12 +119,6 @@ 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;
-}
-
 int Cpu::getNbPStates()
 {
   return speedPerPstate_.size();