[mpich] MPICH primary repository branch, master, updated. v3.2-85-g79b9a78
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "MPICH primary repository". The branch, master has been updated via 79b9a784dce9f5c12de2c82d5b9928807c103a52 (commit) from 2f6ca53d2130aef0a8382f4eba0f02e2743f4910 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://git.mpich.org/mpich.git/commitdiff/79b9a784dce9f5c12de2c82d5b9928807c... commit 79b9a784dce9f5c12de2c82d5b9928807c103a52 Author: Pavan Balaji <[email protected]> Date: Wed Jan 6 00:34:28 2016 -0600 Fix build issues with linux86_cycle timers. Signed-off-by: Wesley Bland <[email protected]> diff --git a/src/mpl/include/mpl_timer.h.in b/src/mpl/include/mpl_timer.h.in index d284eeb..30edc05 100644 --- a/src/mpl/include/mpl_timer.h.in +++ b/src/mpl/include/mpl_timer.h.in @@ -41,6 +41,13 @@ int usleep(useconds_t usec); /* Define a time stamp */ typedef @MPL_TIMER_TYPE@ MPL_Time_t; +/* The timer code is allowed to return "NOT_INITIALIZED" before the + * device is initialized. Once the device is initialized, it must + * always return SUCCESS, so the upper layers do not need to check for + * the return code. */ +#define MPL_TIMER_SUCCESS 0 +#define MPL_TIMER_ERR_NOT_INITIALIZED 1 + #if MPL_TIMER_KIND == MPL_TIMER_KIND__GETHRTIME #include "mpl_timer_gethrtime.h" #elif MPL_TIMER_KIND == MPL_TIMER_KIND__CLOCK_GETTIME @@ -61,13 +68,6 @@ typedef @MPL_TIMER_TYPE@ MPL_Time_t; #include "mpl_timer_mach_absolute_time.h" #endif -/* The timer code is allowed to return "NOT_INITIALIZED" before the - * device is initialized. Once the device is initialized, it must - * always return SUCCESS, so the upper layers do not need to check for - * the return code. */ -#define MPL_TIMER_SUCCESS 0 -#define MPL_TIMER_ERR_NOT_INITIALIZED 1 - /* * Prototypes. These are defined here so that inlined timer calls can * use them, as well as any profiling and timing code that is built into diff --git a/src/mpl/include/mpl_timer_linux86_cycle.h b/src/mpl/include/mpl_timer_linux86_cycle.h index 25b99be..3bc10da 100644 --- a/src/mpl/include/mpl_timer_linux86_cycle.h +++ b/src/mpl/include/mpl_timer_linux86_cycle.h @@ -15,22 +15,22 @@ static inline int MPL_Wtime(MPL_Time_t *timeval) instruction, like cpuid, before rdtsc. X86_64 architectures have the rdtscp instruction which is synchronizing, we use this when we can. */ -#ifdef LINUX86_CYCLE_RDTSCP +#ifdef MPL_LINUX86_CYCLE_RDTSCP __asm__ __volatile__("push %%rbx ; cpuid ; rdtsc ; pop %%rbx ; shl $32, %%rdx; or %%rdx, %%rax" : "=a" (*timeval) : : "ecx", "rdx"); -#elif defined(LINUX86_CYCLE_CPUID_RDTSC64) +#elif defined(MPL_LINUX86_CYCLE_CPUID_RDTSC64) /* Here we have to save the rbx register for when the compiler is generating position independent code (e.g., when it's generating shared libraries) */ __asm__ __volatile__("push %%rbx ; cpuid ; rdtsc ; pop %%rbx" : "=A" (*timeval) : : "ecx"); -#elif defined(LINUX86_CYCLE_CPUID_RDTSC32) +#elif defined(MPL_LINUX86_CYCLE_CPUID_RDTSC32) /* Here we have to save the ebx register for when the compiler is generating position independent code (e.g., when it's generating shared libraries) */ __asm__ __volatile__("push %%ebx ; cpuid ; rdtsc ; pop %%ebx" : "=A" (*timeval) : : "ecx"); -#elif defined(LINUX86_CYCLE_RDTSC) +#elif defined(MPL_LINUX86_CYCLE_RDTSC) /* The configure test using cpuid must have failed, try just rdtsc by itself */ __asm__ __volatile__("rdtsc" : "=A" (*timeval)); ----------------------------------------------------------------------- Summary of changes: src/mpl/include/mpl_timer.h.in | 14 +++++++------- src/mpl/include/mpl_timer_linux86_cycle.h | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) hooks/post-receive -- MPICH primary repository
participants (1)
-
noreply@mpich.org