X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/aae4c948093a006ed58369048fc0b8dcbdd21630..0617119206ff65bfdad4e484f653638abbc3c747:/src/surf/cpu_ti.cpp diff --git a/src/surf/cpu_ti.cpp b/src/surf/cpu_ti.cpp index 06a7f58777..c1c9ec471f 100644 --- a/src/surf/cpu_ti.cpp +++ b/src/surf/cpu_ti.cpp @@ -332,8 +332,8 @@ double CpuTiModel::next_occuring_event(double now) } /* get the min next event if heap not empty */ - if (not actionHeapIsEmpty()) - min_action_duration = actionHeapTopDate() - now; + if (not get_action_heap().empty()) + min_action_duration = get_action_heap().top_date() - now; XBT_DEBUG("Share resources, min next event date: %f", min_action_duration); @@ -342,8 +342,8 @@ double CpuTiModel::next_occuring_event(double now) void CpuTiModel::update_actions_state(double now, double /*delta*/) { - while (not actionHeapIsEmpty() && actionHeapTopDate() <= now) { - CpuTiAction* action = static_cast(actionHeapPop()); + while (not get_action_heap().empty() && double_equals(get_action_heap().top_date(), now, sg_surf_precision)) { + CpuTiAction* action = static_cast(get_action_heap().pop()); XBT_DEBUG("Action %p: finish", action); action->finish(kernel::resource::Action::State::done); /* update remaining amount of all actions */ @@ -411,11 +411,11 @@ void CpuTi::apply_event(tmgr_trace_event_t event, double value) } else if (event == stateEvent_) { if (value > 0) { - if(isOff()) + if (is_off()) host_that_restart.push_back(getHost()); - turnOn(); + turn_on(); } else { - turnOff(); + turn_off(); double date = surf_get_clock(); /* put all action running on cpu to failed */ @@ -425,7 +425,7 @@ void CpuTi::apply_event(tmgr_trace_event_t event, double value) action.get_state() == kernel::resource::Action::State::not_in_the_system) { action.set_finish_time(date); action.set_state(kernel::resource::Action::State::failed); - action.heapRemove(); + get_model()->get_action_heap().remove(&action); } } } @@ -485,11 +485,11 @@ void CpuTi::update_actions_finish_time(double now) } /* add in action heap */ if (min_finish > NO_MAX_DURATION) - action.heapUpdate(min_finish, kernel::resource::Action::Type::NOTSET); + get_model()->get_action_heap().update(&action, min_finish, kernel::resource::ActionHeap::Type::unset); else - action.heapRemove(); + get_model()->get_action_heap().remove(&action); - XBT_DEBUG("Update finish time: Cpu(%s) Action: %p, Start Time: %f Finish Time: %f Max duration %f", getCname(), + XBT_DEBUG("Update finish time: Cpu(%s) Action: %p, Start Time: %f Finish Time: %f Max duration %f", get_cname(), &action, action.get_start_time(), action.get_finish_time(), action.get_max_duration()); } /* remove from modified cpu */ @@ -520,7 +520,7 @@ void CpuTi::update_remaining_amount(double now) XBT_DEBUG("Flops total: %f, Last update %f", area_total, last_update_); for (CpuTiAction& action : action_set_) { /* action not running, skip it */ - if (action.get_state_set() != model()->get_running_action_set()) + if (action.get_state_set() != get_model()->get_running_action_set()) continue; /* bogus priority, skip it */ @@ -548,8 +548,8 @@ void CpuTi::update_remaining_amount(double now) CpuAction *CpuTi::execution_start(double size) { - XBT_IN("(%s,%g)", getCname(), size); - CpuTiAction* action = new CpuTiAction(static_cast(model()), size, isOff(), this); + XBT_IN("(%s,%g)", get_cname(), size); + CpuTiAction* action = new CpuTiAction(static_cast(get_model()), size, is_off(), this); action_set_.push_back(*action); @@ -563,15 +563,15 @@ CpuAction *CpuTi::sleep(double duration) if (duration > 0) duration = std::max(duration, sg_surf_precision); - XBT_IN("(%s,%g)", getCname(), duration); - CpuTiAction* action = new CpuTiAction(static_cast(model()), 1.0, isOff(), this); + XBT_IN("(%s,%g)", get_cname(), duration); + CpuTiAction* action = new CpuTiAction(static_cast(get_model()), 1.0, is_off(), this); action->set_max_duration(duration); action->suspended_ = kernel::resource::Action::SuspendStates::sleeping; if (duration == NO_MAX_DURATION) { /* Move to the *end* of the corresponding action set. This convention is used to speed up update_resource_state */ simgrid::xbt::intrusive_erase(*action->get_state_set(), *action); - action->state_set_ = &static_cast(model())->runningActionSetThatDoesNotNeedBeingChecked_; + action->state_set_ = &static_cast(get_model())->runningActionSetThatDoesNotNeedBeingChecked_; action->get_state_set()->push_back(*action); } @@ -583,7 +583,7 @@ CpuAction *CpuTi::sleep(double duration) void CpuTi::set_modified(bool modified) { - CpuTiList& modifiedCpu = static_cast(model())->modified_cpus_; + CpuTiList& modifiedCpu = static_cast(get_model())->modified_cpus_; if (modified) { if (not cpu_ti_hook.is_linked()) { modifiedCpu.push_back(*this); @@ -610,7 +610,7 @@ CpuTiAction::~CpuTiAction() if (action_ti_hook.is_linked()) simgrid::xbt::intrusive_erase(cpu_->action_set_, *this); /* remove from heap */ - heapRemove(); + get_model()->get_action_heap().remove(this); cpu_->set_modified(true); } @@ -623,7 +623,7 @@ void CpuTiAction::set_state(Action::State state) void CpuTiAction::cancel() { this->set_state(Action::State::failed); - heapRemove(); + get_model()->get_action_heap().remove(this); cpu_->set_modified(true); } @@ -632,7 +632,7 @@ void CpuTiAction::suspend() XBT_IN("(%p)", this); if (suspended_ != Action::SuspendStates::sleeping) { suspended_ = Action::SuspendStates::suspended; - heapRemove(); + get_model()->get_action_heap().remove(this); cpu_->set_modified(true); } XBT_OUT(); @@ -663,7 +663,7 @@ void CpuTiAction::set_max_duration(double duration) min_finish = get_finish_time(); /* add in action heap */ - heapUpdate(min_finish, Action::Type::NOTSET); + get_model()->get_action_heap().update(this, min_finish, kernel::resource::ActionHeap::Type::unset); XBT_OUT(); }