X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1f7474b9bb0f7838d0fc775e65608933f82724ca..041733d27687138580274a397bb287da01c48b4c:/src/smpi/private.hpp?ds=sidebyside diff --git a/src/smpi/private.hpp b/src/smpi/private.hpp index a384ac7468..87d51f8ec6 100644 --- a/src/smpi/private.hpp +++ b/src/smpi/private.hpp @@ -6,21 +6,32 @@ #ifndef SMPI_PRIVATE_HPP #define SMPI_PRIVATE_HPP -#include #include "src/instr/instr_smpi.h" +#include +#include +#include "src/internal_config.h" -#ifdef HAVE_PAPI -typedef +/** + * Get the address of the beginning of the memory page where addr is located. + * Note that we use an integer division here, so (a/b)*b is not a, unless a%b == 0 + * + * This is used when privatizing. + */ +#define TOPAGE(addr) (void *)(((unsigned long)(addr) / xbt_pagesize) * xbt_pagesize) + +#if HAVE_PAPI +typedef std::vector> papi_counter_t; -XBT_PRIVATE papi_counter_t& smpi_process_counter_data(void); -XBT_PRIVATE int smpi_process_event_set(void); +XBT_PRIVATE papi_counter_t& smpi_process_papi_counters(); +XBT_PRIVATE int smpi_process_papi_event_set(); #endif extern std::unordered_map location2speedup; /** @brief Returns the last call location (filename, linenumber). Process-specific. */ extern "C" { -XBT_PUBLIC(smpi_trace_call_location_t*) smpi_process_get_call_location(void); +XBT_PUBLIC(smpi_trace_call_location_t*) smpi_process_get_call_location(); XBT_PUBLIC(smpi_trace_call_location_t*) smpi_trace_get_call_location(); } #endif +