A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
[simix] Add comments about the generic simcalls and rename them
[simgrid.git]
/
src
/
surf
/
plugins
/
energy.cpp
diff --git
a/src/surf/plugins/energy.cpp
b/src/surf/plugins/energy.cpp
index
8abd780
..
57ad84b
100644
(file)
--- a/
src/surf/plugins/energy.cpp
+++ b/
src/surf/plugins/energy.cpp
@@
-102,11
+102,13
@@
HostEnergy::HostEnergy(simgrid::s4u::Host *ptr) :
{
initWattsRangeList();
- if (host->properties() !=
NULL
) {
+ if (host->properties() !=
nullptr
) {
char* off_power_str = (char*)xbt_dict_get_or_null(host->properties(), "watt_off");
- if (off_power_str != NULL)
- watts_off = xbt_str_parse_double(off_power_str,
- bprintf("Invalid value for property watt_off of host %s: %%s",host->name().c_str()));
+ if (off_power_str != nullptr) {
+ char *msg = bprintf("Invalid value for property watt_off of host %s: %%s",host->name().c_str());
+ watts_off = xbt_str_parse_double(off_power_str, msg);
+ xbt_free(msg);
+ }
else
watts_off = 0;
}
@@
-154,18
+156,18
@@
double HostEnergy::getCurrentWattsValue(double cpu_load)
double HostEnergy::getConsumedEnergy()
{
if (last_updated < surf_get_clock()) // We need to simcall this as it modifies the environment
- simgrid::simix::kernel(std::bind(&HostEnergy::update, this));
+ simgrid::simix::kernel
Immediate
(std::bind(&HostEnergy::update, this));
return total_energy;
}
void HostEnergy::initWattsRangeList()
{
- if (host->properties() ==
NULL
)
+ if (host->properties() ==
nullptr
)
return;
char* all_power_values_str =
(char*)xbt_dict_get_or_null(host->properties(), "watt_per_state");
- if (all_power_values_str ==
NULL
)
+ if (all_power_values_str ==
nullptr
)
return;
xbt_dynar_t all_power_values = xbt_str_split(all_power_values_str, ",");
@@
-182,12
+184,14
@@
void HostEnergy::initWattsRangeList()
/* min_power corresponds to the idle power (cpu load = 0) */
/* max_power is the power consumed at 100% cpu load */
+ char *msg_min = bprintf("Invalid min value for pstate %d on host %s: %%s", i, host->name().c_str());
+ char *msg_max = bprintf("Invalid min value for pstate %d on host %s: %%s", i, host->name().c_str());
power_range_watts_list.push_back(power_range(
- xbt_str_parse_double(xbt_dynar_get_as(current_power_values, 0, char*),
- bprintf("Invalid min value for pstate %d on host %s: %%s", i, host->name().c_str())),
- xbt_str_parse_double(xbt_dynar_get_as(current_power_values, 1, char*),
- bprintf("Invalid min value for pstate %d on host %s: %%s", i, host->name().c_str()))
+ xbt_str_parse_double(xbt_dynar_get_as(current_power_values, 0, char*), msg_min),
+ xbt_str_parse_double(xbt_dynar_get_as(current_power_values, 1, char*), msg_max)
));
+ xbt_free(msg_min);
+ xbt_free(msg_max);
xbt_dynar_free(¤t_power_values);
}
@@
-209,7
+213,7
@@
static void onActionStateChange(simgrid::surf::CpuAction *action, simgrid::surf:
for(simgrid::surf::Cpu* cpu : action->cpus()) {
const char *name = cpu->getName();
sg_host_t sghost = sg_host_by_name(name);
- if(sghost ==
NULL
)
+ if(sghost ==
nullptr
)
continue;
simgrid::surf::HostImpl *host = sghost->extension<simgrid::surf::HostImpl>();
simgrid::surf::VirtualMachine *vm = dynamic_cast<simgrid::surf::VirtualMachine*>(host);