From c19d014de9bc7de594e8c220a014e2b8c2474bb5 Mon Sep 17 00:00:00 2001 From: Christian Heinrich Date: Thu, 16 Jun 2016 15:24:30 +0200 Subject: [PATCH] [SMPI] Move definition of macro TOPAGE to private.hpp This was used in 2 files and should hence just go there. --- src/smpi/private.hpp | 9 +++++++++ src/smpi/smpi_bench.cpp | 1 - src/smpi/smpi_memory.cpp | 3 +-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/smpi/private.hpp b/src/smpi/private.hpp index a384ac7468..b05de0c4a0 100644 --- a/src/smpi/private.hpp +++ b/src/smpi/private.hpp @@ -9,6 +9,14 @@ #include #include "src/instr/instr_smpi.h" +/** + * 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) + #ifdef HAVE_PAPI typedef std::vector> papi_counter_t; @@ -24,3 +32,4 @@ XBT_PUBLIC(smpi_trace_call_location_t*) smpi_process_get_call_location(void); XBT_PUBLIC(smpi_trace_call_location_t*) smpi_trace_get_call_location(); } #endif + diff --git a/src/smpi/smpi_bench.cpp b/src/smpi/smpi_bench.cpp index 2aa1b815b2..c69d32cea1 100644 --- a/src/smpi/smpi_bench.cpp +++ b/src/smpi/smpi_bench.cpp @@ -606,7 +606,6 @@ void* smpi_shared_set_call(const char* func, const char* input, void* data) { return data; } -#define TOPAGE(addr) (void *)(((unsigned long)(addr) / xbt_pagesize) * xbt_pagesize) /** Map a given SMPI privatization segment (make a SMPI process active) */ void smpi_switch_data_segment(int dest){ diff --git a/src/smpi/smpi_memory.cpp b/src/smpi/smpi_memory.cpp index 0c29b39cae..a080aac504 100644 --- a/src/smpi/smpi_memory.cpp +++ b/src/smpi/smpi_memory.cpp @@ -16,11 +16,10 @@ #include "../xbt/memory_map.hpp" #include "private.h" +#include "private.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_memory, smpi, "Memory layout support for SMPI"); -#define TOPAGE(addr) (void *)(((unsigned long)(addr) / xbt_pagesize) * xbt_pagesize) - #define PROT_RWX (PROT_READ | PROT_WRITE | PROT_EXEC) #define PROT_RW (PROT_READ | PROT_WRITE ) #define PROT_RX (PROT_READ | PROT_EXEC ) -- 2.20.1