X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/96cedde3cdbc0b8ffc3f096a1b65d021b0226f99..cffacfbf6561ea5deeaba9fbc5a794680fb59e80:/src/plugins/host_load.cpp diff --git a/src/plugins/host_load.cpp b/src/plugins/host_load.cpp index 2a50f2800a..c529ac8067 100644 --- a/src/plugins/host_load.cpp +++ b/src/plugins/host_load.cpp @@ -176,21 +176,6 @@ static void on_host_change(simgrid::s4u::Host& host) host.extension()->update(); } -/* This callback is called when an action (computation, idle, ...) terminates */ -static void on_action_state_change(simgrid::surf::CpuAction* action, simgrid::kernel::resource::Action::State /*previous*/) -{ - for (simgrid::surf::Cpu* const& cpu : action->cpus()) { - simgrid::s4u::Host* host = cpu->get_host(); - - if (dynamic_cast(host)) // Ignore virtual machines - return; - - if (host != nullptr) { - host->extension()->update(); - } - } -} - /* **************************** Public interface *************************** */ /** @brief Initializes the HostLoad plugin @@ -222,8 +207,9 @@ void sg_host_load_plugin_init() simgrid::kernel::activity::ExecImpl::on_creation.connect([](simgrid::kernel::activity::ExecImplPtr activity){ if (activity->host_ != nullptr) { // We only run on one host simgrid::s4u::Host* host = activity->host_; - if (dynamic_cast(activity->host_)) - host = dynamic_cast(activity->host_)->get_pm(); + simgrid::s4u::VirtualMachine* vm = dynamic_cast(host); + if (vm != nullptr) + host = vm->get_pm(); host->extension()->add_activity(activity); host->extension()->update(); // If the system was idle until now, we need to update *before* @@ -237,8 +223,9 @@ void sg_host_load_plugin_init() simgrid::kernel::activity::ExecImpl::on_completion.connect([](simgrid::kernel::activity::ExecImplPtr activity){ if (activity->host_ != nullptr) { // We only run on one host simgrid::s4u::Host* host = activity->host_; - if (dynamic_cast(activity->host_)) - host = dynamic_cast(activity->host_)->get_pm(); + simgrid::s4u::VirtualMachine* vm = dynamic_cast(host); + if (vm != nullptr) + host = vm->get_pm(); host->extension()->update(); }