#include "xbt/sysdep.h"
#include "xbt/ex.h"
#include "surf/surf.h"
+#include "simgrid/sg_config.h"
#ifndef WIN32
#include <sys/mman.h>
static void smpi_execute(double duration)
{
/* FIXME: a global variable would be less expensive to consult than a call to xbt_cfg_get_double() right on the critical path */
- if (duration >= xbt_cfg_get_double(_surf_cfg_set, "smpi/cpu_threshold")) {
+ if (duration >= sg_cfg_get_double("smpi/cpu_threshold")) {
XBT_DEBUG("Sleep for %f to handle real computation time", duration);
smpi_execute_flops(duration *
- xbt_cfg_get_double(_surf_cfg_set,
- "smpi/running_power"));
+ sg_cfg_get_double("smpi/running_power"));
} else {
XBT_DEBUG("Real computation took %f while option smpi/cpu_threshold is set to %f => ignore it",
- duration, xbt_cfg_get_double(_surf_cfg_set, "smpi/cpu_threshold"));
+ duration, sg_cfg_get_double("smpi/cpu_threshold"));
}
}
return secs;
}
-int smpi_gettimeofday(struct timeval *tv, struct timezone *tz)
+int smpi_gettimeofday(struct timeval *tv)
{
double now;
smpi_bench_end();
data->benching = !sample_enough_benchs(data);
XBT_DEBUG("XXXX Re-entering the benched nest %s. %s",loc, (data->benching?"more benching needed":"we have enough data, skip computes"));
}
- free(loc);
+ xbt_free(loc);
}
int smpi_sample_2(int global, const char *file, int line)
xbt_assert(samples, "Y U NO use SMPI_SAMPLE_* macros? Stop messing directly with smpi_sample_* functions!");
data = xbt_dict_get(samples, loc);
XBT_DEBUG("sample2 %s",loc);
- free(loc);
+ xbt_free(loc);
if (data->benching==1) {
// we need to run a new bench
xbt_assert(samples, "Y U NO use SMPI_SAMPLE_* macros? Stop messing directly with smpi_sample_* functions!");
data = xbt_dict_get(samples, loc);
XBT_DEBUG("sample3 %s",loc);
+ xbt_free(loc);
if (data->benching==0) {
THROW_IMPOSSIBLE;