X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/96cedde3cdbc0b8ffc3f096a1b65d021b0226f99..2d37e348a09783cda723c7019640ee69de168324:/src/smpi/internals/smpi_bench.cpp diff --git a/src/smpi/internals/smpi_bench.cpp b/src/smpi/internals/smpi_bench.cpp index 7e05e7afcb..9fbc6b0dc5 100644 --- a/src/smpi/internals/smpi_bench.cpp +++ b/src/smpi/internals/smpi_bench.cpp @@ -102,12 +102,10 @@ void smpi_bench_begin() if (not simgrid::config::get_value("smpi/papi-events").empty()) { int event_set = smpi_process()->papi_event_set(); // PAPI_start sets everything to 0! See man(3) PAPI_start - if (PAPI_LOW_LEVEL_INITED == PAPI_is_initialized()) { - if (PAPI_start(event_set) != PAPI_OK) { - // TODO This needs some proper handling. - XBT_CRITICAL("Could not start PAPI counters.\n"); - xbt_die("Error."); - } + if (PAPI_LOW_LEVEL_INITED == PAPI_is_initialized() && PAPI_start(event_set) != PAPI_OK) { + // TODO This needs some proper handling. + XBT_CRITICAL("Could not start PAPI counters.\n"); + xbt_die("Error."); } } #endif @@ -393,9 +391,12 @@ int smpi_sample_2(int global, const char *file, int line) } else { // Enough data, no more bench (either we got enough data from previous visits to this benched nest, or we just //ran one bench and need to bail out now that our job is done). Just sleep instead - XBT_DEBUG("No benchmark (either no need, or just ran one): count >= iter (%d >= %d) or stderr= iter (%d >= %d) or stderrset_sampling(0); res = 0; // prepare to capture future, unrelated computations