X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f23b0fb864cb60978c1fcfd48d50f62dd054fe31..c8f4cd32fa6bfe50360ed8c9f61aa43b33d4e005:/src/surf/cpu_interface.cpp?ds=sidebyside diff --git a/src/surf/cpu_interface.cpp b/src/surf/cpu_interface.cpp index 0f1a3ab114..c507a90954 100644 --- a/src/surf/cpu_interface.cpp +++ b/src/surf/cpu_interface.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2013-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -32,16 +32,14 @@ void CpuModel::update_actions_state_lazy(double now, double /*delta*/) } } -void CpuModel::update_actions_state_full(double now, double delta) +void CpuModel::update_actions_state_full(double /*now*/, double delta) { for (auto it = std::begin(*get_started_action_set()); it != std::end(*get_started_action_set());) { CpuAction& action = static_cast(*it); ++it; // increment iterator here since the following calls to action.finish() may invalidate it action.update_remains(action.get_variable()->get_value() * delta); - - if (action.get_max_duration() != NO_MAX_DURATION) - action.update_max_duration(delta); + action.update_max_duration(delta); if (((action.get_remains_no_update() <= 0) && (action.get_variable()->get_weight() > 0)) || ((action.get_max_duration() != NO_MAX_DURATION) && (action.get_max_duration() <= 0))) { @@ -134,11 +132,11 @@ int Cpu::get_core_count() return core_count_; } -void Cpu::set_speed_trace(tmgr_trace_t trace) +void Cpu::set_speed_profile(kernel::profile::Profile* profile) { xbt_assert(speed_.event == nullptr, "Cannot set a second speed trace to Host %s", host_->get_cname()); - speed_.event = future_evt_set->add_trace(trace, this); + speed_.event = profile->schedule(&future_evt_set, this); } @@ -186,6 +184,7 @@ void CpuAction::set_state(Action::State state) Action::set_state(state); on_state_change(this, previous); } + /** @brief returns a list of all CPUs that this action is using */ std::list CpuAction::cpus() { std::list retlist;