X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d9dde0b9bb9032fdea9a8caa97b5fec79f9ca280..4c18091c2618f718dcd672ed8391572eeb80ad99:/src/plugins/host_energy.cpp diff --git a/src/plugins/host_energy.cpp b/src/plugins/host_energy.cpp index 0b1ed29b96..a1033c8b06 100644 --- a/src/plugins/host_energy.cpp +++ b/src/plugins/host_energy.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2010-2020. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2010-2021. 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. */ @@ -156,13 +156,13 @@ public: ~HostEnergy(); double get_current_watts_value(); - double get_current_watts_value(double cpu_load); + double get_current_watts_value(double cpu_load) const; double get_consumed_energy(); - double get_watt_idle_at(int pstate); - double get_watt_min_at(int pstate); - double get_watt_max_at(int pstate); - double get_power_range_slope_at(int pstate); - double get_last_update_time() { return last_updated_; } + double get_watt_idle_at(int pstate) const; + double get_watt_min_at(int pstate) const; + double get_watt_max_at(int pstate) const; + double get_power_range_slope_at(int pstate) const; + double get_last_update_time() const { return last_updated_; } void update(); }; @@ -228,28 +228,28 @@ HostEnergy::HostEnergy(simgrid::s4u::Host* ptr) : host_(ptr) HostEnergy::~HostEnergy() = default; -double HostEnergy::get_watt_idle_at(int pstate) +double HostEnergy::get_watt_idle_at(int pstate) const { xbt_assert(not power_range_watts_list_.empty(), "No power range properties specified for host %s", host_->get_cname()); return power_range_watts_list_[pstate].idle_; } -double HostEnergy::get_watt_min_at(int pstate) +double HostEnergy::get_watt_min_at(int pstate) const { xbt_assert(not power_range_watts_list_.empty(), "No power range properties specified for host %s", host_->get_cname()); return power_range_watts_list_[pstate].epsilon_; } -double HostEnergy::get_watt_max_at(int pstate) +double HostEnergy::get_watt_max_at(int pstate) const { xbt_assert(not power_range_watts_list_.empty(), "No power range properties specified for host %s", host_->get_cname()); return power_range_watts_list_[pstate].max_; } -double HostEnergy::get_power_range_slope_at(int pstate) +double HostEnergy::get_power_range_slope_at(int pstate) const { xbt_assert(not power_range_watts_list_.empty(), "No power range properties specified for host %s", host_->get_cname()); @@ -292,7 +292,7 @@ double HostEnergy::get_current_watts_value() * * Whether the host is ON or OFF is not taken into account. */ -double HostEnergy::get_current_watts_value(double cpu_load) +double HostEnergy::get_current_watts_value(double cpu_load) const { xbt_assert(not power_range_watts_list_.empty(), "No power range properties specified for host %s", host_->get_cname()); @@ -350,7 +350,7 @@ void HostEnergy::init_watts_range_list() host_->get_pstate_count()); // XBT_ATTRIB_DEPRECATED_v328: putting this macro name here so that we find it during the deprecation cleanups - std::string msg = std::string("DEPRECATION WARNING: Property 'watt_per_state' will only work until v3.28.\n"); + std::string msg = "DEPRECATION WARNING: Property 'watt_per_state' will only work until v3.28.\n"; msg += std::string("The old syntax 'Idle:OneCore:AllCores' must be converted into 'Idle:Epsilon:AllCores' to " "properly model the consumption of non-whole tasks on mono-core hosts. Here are the values to " "use for host '") + @@ -473,7 +473,7 @@ static void on_action_state_change(simgrid::kernel::resource::CpuAction const& a simgrid::kernel::resource::Action::State /*previous*/) { for (simgrid::kernel::resource::Cpu* const& cpu : action.cpus()) { - simgrid::s4u::Host* host = cpu->get_host(); + simgrid::s4u::Host* host = cpu->get_iface(); if (host != nullptr) { // If it's a VM, take the corresponding PM const simgrid::s4u::VirtualMachine* vm = dynamic_cast(host); @@ -481,7 +481,7 @@ static void on_action_state_change(simgrid::kernel::resource::CpuAction const& a host = vm->get_pm(); // Get the host_energy extension for the relevant host - HostEnergy* host_energy = host->extension(); + auto* host_energy = host->extension(); if (host_energy->get_last_update_time() < surf_get_clock()) host_energy->update(); @@ -496,7 +496,7 @@ static void on_host_change(simgrid::s4u::Host const& host) if (dynamic_cast(&host)) // Ignore virtual machines return; - HostEnergy* host_energy = host.extension(); + auto* host_energy = host.extension(); host_energy->update(); } @@ -551,7 +551,7 @@ void sg_host_energy_plugin_init() // that the next trigger would be the 2nd compute, hence ignoring the idle time // during the recv call. By updating at the beginning of a compute, we can // fix that. (If the cpu is not idle, this is not required.) - simgrid::s4u::Exec::on_start.connect([](simgrid::s4u::Actor const&, simgrid::s4u::Exec const& activity) { + simgrid::s4u::Exec::on_start.connect([](simgrid::s4u::Exec const& activity) { if (activity.get_host_number() == 1) { // We only run on one host simgrid::s4u::Host* host = activity.get_host(); const simgrid::s4u::VirtualMachine* vm = dynamic_cast(host);