1
1
* The opal_sys_timer_get_cycles() call was implemented for
   Sparc v9 using inline assembly, but not in the assembly files.
   This would only currently matter on Linux Sparc systems using
   a compiler that didn't support inline assembly (not many of
   those), but it should be there for completion.
 * The linux timer component would always build on non-Alpha
   platforms, rather than only building on platforms where
   opal_sys_timer_get_cycles() was implemented.  This would
   only matter on a very narrow set of platforms that we don't
   really support, but still, it could be more right.  We now
   only build the component on platforms where we have the
   assembly call to get the cycle counter.
 * Added a comment to opal/sys/timer.h to note that the linux
   timer component needed to be updated if another platform was
   added.

This should be harmless to commit.  It will only really change
behaviors on platforms we don't have assembly support for, which
currently won't make it through configure.  It really only matters
when (if?) we support atomic operations through libatomic_ops.

This commit was SVN r17887.
Этот коммит содержится в:
Jeff Squyres 2008-03-20 00:29:36 +00:00
родитель 67a2cc8a8e
Коммит e0fb3957cb
4 изменённых файлов: 25 добавлений и 1 удалений

Просмотреть файл

@ -159,3 +159,13 @@ LSYM(21)
ret
restore
END_FUNC(opal_atomic_cmpset_rel_64)
START_FUNC(opal_sys_timer_get_cycles)
save %sp,-96,%sp
rd %tick,%o0
srlx %o0,32,%o1
or %g0,%o1,%i0
ret ! Result = %i0
restore %o0,0,%o1
END_FUNC(opal_sys_timer_get_cycles)

Просмотреть файл

@ -101,3 +101,11 @@ START_FUNC(opal_atomic_cmpset_rel_64)
retl
movre %o2, 1, %o0
END_FUNC(opal_atomic_cmpset_rel_64)
START_FUNC(opal_sys_timer_get_cyclces)
save %sp,-176,%sp
rd %tick,%o0
ret ! Result = %i0
restore %o0,0,%o0
END_FUNC(opal_sys_timer_get_cycles)

Просмотреть файл

@ -74,6 +74,9 @@
extern "C" {
#endif
/* If you update this list, you probably also want to update
opal/mca/timer/linux/configure.m4. Or not. */
#if defined(DOXYGEN)
/* don't include system-level gorp when generating doxygen files */
#elif OMPI_ASSEMBLY_ARCH == OMPI_AMD64

Просмотреть файл

@ -46,7 +46,10 @@ AC_DEFUN([MCA_timer_linux_CONFIG],[
[timer_linux_happy="no"])])
case "${host}" in
alpha*)
i?86-*|x86_64*|ia64-*|powerpc-*|powerpc64-*|sparc*-*)
timer_linux_happy="yes"
;;
*)
timer_linux_happy="no"
;;
esac