1
1

32 Коммитов

Автор SHA1 Сообщение Дата
Carlos Bederián
b5883a358b Get x86 TSC frequency from bogomips
Signed-off-by: Carlos Bederián <bc@famaf.unc.edu.ar>
2017-07-12 17:31:25 -03:00
Jeff Squyres
616f20c52c timer/linux: rename component-specific functions
Several component-specific functions were named with a prefix of
"opal_timer_base", which was quite confusing.  Rename them to have a
prefix "opal_timer_linux" to make it clear that they are here in this
component (and different than *actual* opal_timer_base symbols).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-03-15 21:03:13 -05:00
Jeff Squyres
290d4598df timer/linux: remove global variable
This variable is only used in one file, so make it static.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-03-15 21:03:06 -05:00
Nathan Hjelm
45c05880aa timer/linux: prevent 64-bit overflow
The linux timer code was multiplying the result of the x86 time stamp
counter by 1000000 before dividing by the cpu frequency. This can
cause us to overflow 64 bits if the time stamp counter grows larger
than ~ 1.8e13 (about 8400 seconds after boot). To fix the issue the
units of opal_timer_linux_freq have been changed to MHz.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-01-11 20:03:10 -07:00
Nathan Hjelm
a718743a5c opal/timer: add code to check if rtdtsc is core invariant
Newer x86 processors have a core invariant tsc. On these systems it is
safe to use the rtdtsc instruction as a monotonic timer. This commit
adds a new function to the opal timer code to check if the timer
backend is monotonic. On x86 it checks the appropriate bit and on
other architectures it parrots back the OPAL_TIMER_MONOTONIC value.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-12-16 15:11:50 -07:00
George Bosilca
066370202d Support non-monotonic assembly timers.
If monotonic support has been required by the runtime and the
assembly timers are unable to provide it, fall back to clock_gettime.
2016-09-23 21:51:34 -04:00
George Bosilca
45dcf1f5d7 Always use the best timer available
If we have better timer than clock_gettime use it, even if it an
assembly timer.
2016-09-23 19:32:58 -04:00
Abhishek Joshi
f06f7eb3e6 arm64: add timer support
Signed-off-by: Sreenidhi Bharathkar Ramesh <sreenidhi-bharathkar.ramesh@broadcom.com>
2016-06-23 11:01:00 +00:00
Nathan Hjelm
4d92c9989e more c99 updates
This commit does two things. It removes checks for C99 required
headers (stdlib.h, string.h, signal.h, etc). Additionally it removes
definitions for required C99 types (intptr_t, int64_t, int32_t, etc).

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-06-25 10:14:13 -06:00
Ralph Castain
869041f770 Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
Gilles Gouaillardet
c809aace47 initialize common symbols from opal
A few uninitialized common symbols are remaining:

common symbols generated by flex :
 * opal/util/keyval/keyval_lex.l: opal_util_keyval_yyleng
 * opal/util/keyval/keyval_lex.o: opal_util_keyval_yytext
 * opal/util/show_help_lex.l: opal_show_help_yyleng
 * opal/util/show_help_lex.l: opal_show_help_yytext

common symbol generated by "external" hwloc library:
 * opal/mca/hwloc/hwloc191/hwloc/src/components.o: component_map
2015-05-08 09:48:51 +09:00
Jeff Squyres
46aa20a919 timer_linux_component.c: fix the operator precedence
Paul Hargrove noted in
http://www.open-mpi.org/community/lists/devel/2015/04/17312.php that
we need () to ensure that we get the correct mathemtical result.
2015-04-22 13:40:09 -07:00
Nathan Hjelm
33181b2543 opal: use C99 subobject naming for component initialization
This commit helps future-proof opal components by initializing each
component member by name.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-04-18 10:29:58 -06:00
Gilles Gouaillardet
2789d782ab timer/linux: fix insecure data handling
as reported by Coverity with CID 1269923
2015-03-09 19:14:56 +09:00
George Bosilca
04a4cbd77a Fix the clock_gettime monotonic timer. Thanks to Gilles for the
first sketch of the patch.
2014-12-04 00:20:56 -05:00
George Bosilca
a35d2b9fb5 Update copyrights and mark ia32 timers as non-monotonic. 2014-12-01 14:03:54 -08:00
George Bosilca
5277fd5aa2 Various cleanups. 2014-12-01 14:03:47 -08:00
George Bosilca
00300f464d Add support for clock_gettime on Linux. Allow the user to
request a monotonic timer via MCA parameters.
2014-12-01 14:03:40 -08:00
Rainer Keller
d8cf4c0fec - Get pgcc on XT to complain less:
In case we use memcmp, strlen, strup and friends include <string.h>
   Also several constants.h are not included directly
 - Let's have mca_topo_base_cart_create  return ompi-errors in
   ompi/mca/topo/base/topo_base_cart_create.c

This commit was SVN r20773.
2009-03-13 02:10:32 +00:00
Jeff Squyres
0af7ac53f2 Fixes trac:1392, #1400
* add "register" function to mca_base_component_t
   * converted coll:basic and paffinity:linux and paffinity:solaris to
     use this function
   * we'll convert the rest over time (I'll file a ticket once all
     this is committed)
 * add 32 bytes of "reserved" space to the end of mca_base_component_t
   and mca_base_component_data_2_0_0_t to make future upgrades
   [slightly] easier
   * new mca_base_component_t size: 196 bytes
   * new mca_base_component_data_2_0_0_t size: 36 bytes
 * MCA base version bumped to v2.0
   * '''We now refuse to load components that are not MCA v2.0.x'''
 * all MCA frameworks versions bumped to v2.0
 * be a little more explicit about version numbers in the MCA base
   * add big comment in mca.h about versioning philosophy

This commit was SVN r19073.

The following Trac tickets were found above:
  Ticket 1392 --> https://svn.open-mpi.org/trac/ompi/ticket/1392
2008-07-28 22:40:57 +00:00
George Bosilca
61989cc4d4 Don't hardcode the length, there is an argument for that. Don't
do the NULL check as we already know thaty tmp cannot be NULL.

This commit was SVN r16123.
2007-09-14 02:02:03 +00:00
Josh Hursey
dadca7da88 Merging in the jjhursey-ft-cr-stable branch (r13912 : HEAD).
This merge adds Checkpoint/Restart support to Open MPI. The initial
frameworks and components support a LAM/MPI-like implementation.

This commit follows the risk assessment presented to the Open MPI core
development group on Feb. 22, 2007.

This commit closes trac:158

More details to follow.

This commit was SVN r14051.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r13912

The following Trac tickets were found above:
  Ticket 158 --> https://svn.open-mpi.org/trac/ompi/ticket/158
2007-03-16 23:11:45 +00:00
Brian Barrett
566a050c23 Next step in the project split, mainly source code re-arranging
- move files out of toplevel include/ and etc/, moving it into the
    sub-projects
  - rather than including config headers with <project>/include, 
    have them as <project>
  - require all headers to be included with a project prefix, with
    the exception of the config headers ({opal,orte,ompi}_config.h
    mpi.h, and mpif.h)

This commit was SVN r8985.
2006-02-12 01:33:29 +00:00
Jeff Squyres
42ec26e640 Update the copyright notices for IU and UTK.
This commit was SVN r7999.
2005-11-05 19:57:48 +00:00
Brian Barrett
f899c59102 * don't error in open if we can't find a timebase. Just let the caller
know what's up (by returning 0 everywhere) and succeed.

This commit was SVN r7734.
2005-10-12 19:53:20 +00:00
Brian Barrett
cd96ffa41f * back out Josh's change to linux timer. PowerPC gives you a reference base
timer, not a cpu timer, so looking at CPU frequency isn't what you want
  to do.

This commit was SVN r7733.
2005-10-12 19:10:07 +00:00
Josh Hursey
62bd7849f4 Handle the timer for YellowDog's /proc/cpuinfo format
clock           : 999MHz

This commit was SVN r7723.
2005-10-12 13:13:46 +00:00
Brian Barrett
753b9a888e * fix compiler warning
This commit was SVN r7412.
2005-09-16 19:15:36 +00:00
Brian Barrett
5dcec6e2fe add assembly for timer operations on SPARC, and update linux timer component to
get frequency when on SPARC

This commit was SVN r7372.
2005-09-14 21:14:39 +00:00
Brian Barrett
2577ab4722 * a bunch of cleanups to make trivial opal programs valgrind-clean
This commit was SVN r7009.
2005-08-24 20:19:36 +00:00
Brian Barrett
edbcdf0dac * add support for reading the PowerPC timebase
* add support to Linux timer for getting the frequency of the Timebase
  on a PPC Linux box 

This commit was SVN r6947.
2005-08-20 21:09:16 +00:00
Brian Barrett
dfdb5dc12a * high resolution, low latency timers for a number of platforms, plus mods
to opal_progress() to use the timers instead of a tick count for deciding
  whether to call the event loop or not.  Currently supported platforms are:

     - solaris (x86 / sparc)
     - Linux (x86 / x86_64 / IA64)
     - Mac OS X (x86 / Power PC)

This commit was SVN r6922.
2005-08-18 05:34:22 +00:00