X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1847d1441271d076b3de449c8853031ea208ce8f..33f7f52135858a7e673099cd70f31bc28e04edbe:/src/surf/cpu_ti.cpp diff --git a/src/surf/cpu_ti.cpp b/src/surf/cpu_ti.cpp index 5366483665..de1be6eb81 100644 --- a/src/surf/cpu_ti.cpp +++ b/src/surf/cpu_ti.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2015. The SimGrid Team. +/* Copyright (c) 2013-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -380,10 +380,9 @@ void CpuTiModel::updateActionsState(double now, double /*delta*/) while ((xbt_heap_size(tiActionHeap_) > 0) && (xbt_heap_maxkey(tiActionHeap_) <= now)) { CpuTiAction *action = static_cast(xbt_heap_pop(tiActionHeap_)); XBT_DEBUG("Action %p: finish", action); - action->finish(); + action->finish(Action::State::done); /* set the remains to 0 due to precision problems when updating the remaining amount */ action->setRemains(0); - action->setState(Action::State::done); /* update remaining amount of all actions */ action->cpu_->updateRemainingAmount(surf_get_clock()); } @@ -529,10 +528,10 @@ void CpuTi::updateActionsFinishTime(double now) action->setFinishTime(speedIntegratedTrace_->solve(now, total_area)); /* verify which event will happen before (max_duration or finish time) */ if (action->getMaxDuration() > NO_MAX_DURATION && - action->getStartTime() + action->getMaxDuration() < action->finishTime_) + action->getStartTime() + action->getMaxDuration() < action->getFinishTime()) min_finish = action->getStartTime() + action->getMaxDuration(); else - min_finish = action->finishTime_; + min_finish = action->getFinishTime(); } else { /* put the max duration time on heap */ if (action->getMaxDuration() > NO_MAX_DURATION) @@ -549,8 +548,8 @@ void CpuTi::updateActionsFinishTime(double now) if (min_finish > NO_MAX_DURATION) xbt_heap_push(static_cast(model())->tiActionHeap_, action, min_finish); - XBT_DEBUG("Update finish time: Cpu(%s) Action: %p, Start Time: %f Finish Time: %f Max duration %f", cname(), action, - action->getStartTime(), action->finishTime_, action->getMaxDuration()); + XBT_DEBUG("Update finish time: Cpu(%s) Action: %p, Start Time: %f Finish Time: %f Max duration %f", getCname(), + action, action->getStartTime(), action->getFinishTime(), action->getMaxDuration()); } /* remove from modified cpu */ modified(false); @@ -598,19 +597,19 @@ void CpuTi::updateRemainingAmount(double now) continue; /* skip action that are finishing now */ - if (action->finishTime_ >= 0 && action->finishTime_ <= now) + if (action->getFinishTime() >= 0 && action->getFinishTime() <= now) continue; /* update remaining */ action->updateRemains(area_total / (sumPriority_ * action->getPriority())); - XBT_DEBUG("Update remaining action(%p) remaining %f", action, action->remains_); + XBT_DEBUG("Update remaining action(%p) remaining %f", action, action->getRemainsNoUpdate()); } lastUpdate_ = now; } CpuAction *CpuTi::execution_start(double size) { - XBT_IN("(%s,%g)", cname(), size); + XBT_IN("(%s,%g)", getCname(), size); CpuTiAction* action = new CpuTiAction(static_cast(model()), size, isOff(), this); actionSet_->push_back(*action); @@ -625,10 +624,10 @@ CpuAction *CpuTi::sleep(double duration) if (duration > 0) duration = MAX(duration, sg_surf_precision); - XBT_IN("(%s,%g)", cname(), duration); + XBT_IN("(%s,%g)", getCname(), duration); CpuTiAction* action = new CpuTiAction(static_cast(model()), 1.0, isOff(), this); - action->maxDuration_ = duration; + action->setMaxDuration(duration); action->suspended_ = 2; if (duration == NO_MAX_DURATION) { /* Move to the *end* of the corresponding action set. This convention @@ -732,7 +731,7 @@ void CpuTiAction::setMaxDuration(double duration) XBT_IN("(%p,%g)", this, duration); - maxDuration_ = duration; + setMaxDuration(duration); if (duration >= 0) min_finish = (getStartTime() + getMaxDuration()) < getFinishTime() ? @@ -764,7 +763,7 @@ double CpuTiAction::getRemains() XBT_IN("(%p)", this); cpu_->updateRemainingAmount(surf_get_clock()); XBT_OUT(); - return remains_; + return getRemainsNoUpdate(); } }