[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2-85-g79b9a78
Service Account
noreply at mpich.org
Wed Jan 6 11:42:27 CST 2016
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/79b9a784dce9f5c12de2c82d5b9928807c103a52
commit 79b9a784dce9f5c12de2c82d5b9928807c103a52
Author: Pavan Balaji <balaji at anl.gov>
Date: Wed Jan 6 00:34:28 2016 -0600
Fix build issues with linux86_cycle timers.
Signed-off-by: Wesley Bland <wesley.bland at intel.com>
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
More information about the commits
mailing list