#include "src/surf/surf_interface.hpp"
#include "surf/surf.hpp"
-#define EPSILON 0.000000001
+constexpr double EPSILON = 0.000000001;
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_cpu_ti, surf_cpu, "Logging specific to the SURF CPU TRACE INTEGRATION module");
/* add a fake trace event if periodicity == 0 */
if (profile && profile->event_list.size() > 1) {
kernel::profile::DatedValue val = profile->event_list.back();
- if (val.date_ < 1e-12)
- speed_.event = future_evt_set.add_trace(new simgrid::kernel::profile::Profile(), this);
+ if (val.date_ < 1e-12) {
+ simgrid::kernel::profile::Profile* prof = new simgrid::kernel::profile::Profile();
+ speed_.event = prof->schedule(&future_evt_set, this);
+ }
}
}
} else if (event == state_event_) {
if (value > 0) {
- if (is_off()) {
+ if (not is_on()) {
XBT_VERB("Restart processes on host %s", get_host()->get_cname());
get_host()->turn_on();
}
action.set_finish_time(speed_integrated_trace_->solve(now, total_area));
/* verify which event will happen before (max_duration or finish time) */
- if (action.get_max_duration() > NO_MAX_DURATION &&
+ if (action.get_max_duration() != NO_MAX_DURATION &&
action.get_start_time() + action.get_max_duration() < action.get_finish_time())
min_finish = action.get_start_time() + action.get_max_duration();
else
min_finish = action.get_finish_time();
} else {
/* put the max duration time on heap */
- if (action.get_max_duration() > NO_MAX_DURATION)
+ if (action.get_max_duration() != NO_MAX_DURATION)
min_finish = action.get_start_time() + action.get_max_duration();
}
/* add in action heap */
- if (min_finish > NO_MAX_DURATION)
+ if (min_finish != NO_MAX_DURATION)
get_model()->get_action_heap().update(&action, min_finish, kernel::resource::ActionHeap::Type::unset);
else
get_model()->get_action_heap().remove(&action);
action->set_max_duration(duration);
action->suspended_ = kernel::resource::Action::SuspendStates::sleeping;
- if (duration < 0) // NO_MAX_DURATION
+ if (duration == NO_MAX_DURATION)
action->set_state(simgrid::kernel::resource::Action::State::IGNORED);
action_set_.push_back(*action);
* Action *
**********/
-CpuTiAction::CpuTiAction(CpuTi* cpu, double cost) : CpuAction(cpu->get_model(), cost, cpu->is_off()), cpu_(cpu)
+CpuTiAction::CpuTiAction(CpuTi* cpu, double cost) : CpuAction(cpu->get_model(), cost, not cpu->is_on()), cpu_(cpu)
{
cpu_->set_modified(true);
}