1
1
Граф коммитов

160 Коммитов

Автор SHA1 Сообщение Дата
Rainer Keller
192625d2a1 - Once again: uninteresting cleanup to get diff smaller.
This commit was SVN r7178.
2005-09-04 20:54:19 +00:00
Brian Barrett
492aeecd11 * track the actual allocations within the ompi and opal free_lists, so that
we can free all allocated memory when the free_list is destructed.  Fixes
  a whole bunch of memory leaks...

This commit was SVN r7173.
2005-09-03 19:46:44 +00:00
Jeff Squyres
1deea5ddb9 Minor mods:
- style and error code updates
- use strdup instead of malloc/strcpy

This commit was SVN r7164.
2005-09-03 00:06:20 +00:00
Brian Barrett
a9863e5ff5 * properly construct / destruct the condition variable in the free list
structures

This commit was SVN r7153.
2005-09-02 16:00:42 +00:00
Jeff Squyres
a8f9df9951 Change the API slightly so that it is assumed that each process will
be called with a description of its memory segments to make local.  It
is a small enough API that changing to support a
one-process-does-all-assignment model is simple enough if we ever need
it.

This commit was SVN r7148.
2005-09-02 12:57:02 +00:00
Jeff Squyres
3962c53e2e - Add to AM_CPPFLAGS $(OPAL_LTDL_CPPFLAGS) where necessary in order to
add a -I to find the included ltdl.h (vs. a system-installed ltdl.h)
- Clean up kruft in a bunch of Makefile.am's to remove now-unnecessary
  AM_CPPFLAGS settings to get static-components.h for each framework
- Move the component_repository API functions out of opal/mca/base/base.h
  and into opal/mca/base/mca_base_component_repository.h in order to
  decrease unnecessary dependencies (e.g., before this, almost
  everything in the tree depended on ltdl.h, which is unnecessary --
  only a small number of files really need ltdl.h)

This commit was SVN r7127.
2005-09-01 12:16:36 +00:00
Jeff Squyres
67168466be Fix minor typo in the comment/docs
This commit was SVN r7126.
2005-09-01 12:12:32 +00:00
Jeff Squyres
b4e2c96e22 - Adjust include paths for ltdl.h
- Properly set CLEANFILES to remove F90 kruft

This commit was SVN r7106.
2005-08-31 10:56:01 +00:00
Tim Woodall
dc0f3eef63 more corrections
This commit was SVN r7100.
2005-08-30 21:26:24 +00:00
Tim Woodall
f742e4901f we always acquire/release this lock - support threaded users
of the library

This commit was SVN r7099.
2005-08-30 21:17:33 +00:00
Jeff Squyres
774549d640 Add missing header file
This commit was SVN r7090.
2005-08-30 10:41:25 +00:00
Brian Barrett
77ebdf1c6f * Add some debugging output Ralph asked for when an unknown error code is
passed to opal_error

This commit was SVN r7087.
2005-08-29 23:36:53 +00:00
Jeff Squyres
6089b02afd First cut of the libnuma implementation
This commit was SVN r7074.
2005-08-29 15:13:54 +00:00
Brian Barrett
2143ed4c81 * move error -> string converter registration from orte_init to
orte_init_stage1(), since not all ORTE processes call orte_init().
* Expad opal_error test case to make sure ORTE error codes print
  properly
* Make project error codes start at easy values (OPAL is -1 to -100,
  ORTE is -101 to -200, OMPI is less than -201) to make it easier
  to figure out what an error code as an integer means.  Also has
  the nice property of not changing the values of error codes ever
  time a new error code is added.

This commit was SVN r7061.
2005-08-26 23:36:57 +00:00
Jeff Squyres
c9cdb36b0b Finally get this right: move orte_sys_info.[ch] back into the orte
tree.
- fix up #include's throughout the tree (yay contrib/search_replace.pl!)
- remove a few extraneous #include's
- remove orte_sys_info*() from opal_init()/opal_finalize() (it's
  already in orte_init_stage1() and orte_system_finalize())
- remove dependencies in opal on orte_system_info -- util/os_path.c
  and util/os_create_dirpath.c (they only used path_sep, anyway --
  easily changed to #defines)

This commit was SVN r7059.
2005-08-26 21:03:41 +00:00
Jeff Squyres
f7638f0884 First cut of libnuma maffinity component; not yet complete
This commit was SVN r7052.
2005-08-26 19:51:02 +00:00
Jeff Squyres
a771aeb1ab Remove some kruft from copy-n-paste
This commit was SVN r7051.
2005-08-26 19:50:24 +00:00
Jeff Squyres
900631e9f9 - Add a first cut of the memory affinity (maffinity) framework. It's
API is still a bit unstable and may change.
- Add a primitive "first use" component that simply has each process
  "touch" the pages that they want to use, thereby [hopefully] locking
  them locally to a specific processor
- Add hooks in ompi_mpi_init to enable memory affinity when processor
  affinity is used.
- Added hooks in ompi_mpi_finalize to shut down memory affinity when
  it was initialized during ompi_mpi_init.
- Added right hooks in ompi_info to display maffinity components.

This commit was SVN r7044.
2005-08-26 10:56:39 +00:00
Jeff Squyres
2bd821d8dc Clarify some comments
This commit was SVN r7038.
2005-08-25 17:42:00 +00:00
Brian Barrett
71a28437bf * fix duplicate local symbol probelm in PPC64 assembly
This commit was SVN r7035.
2005-08-25 16:37:48 +00:00
Brian Barrett
7a8e646fff * add missing OBJ_RELEASE in memory manager code
* fix off-by-one error in os_path code
* Bunch of memory fixes for OPAL unit tests

This commit was SVN r7033.
2005-08-25 16:28:41 +00:00
Brian Barrett
e0d49880d7 * make sure that the sys_info structure has valid data for applications that
only call opal_init (like the new wrapper compilers in development) so that
  they don't find bad data in the structure

This commit was SVN r7024.
2005-08-25 00:59:21 +00:00
Brian Barrett
92fb84fd85 * oops - remove #if 0 that accidently slipped in
This commit was SVN r7013.
2005-08-24 20:41:52 +00:00
Brian Barrett
c37f9a6391 * give if code a chance to clean up after itself
This commit was SVN r7012.
2005-08-24 20:27:45 +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
Jeff Squyres
cba8c1895f - Plug a memory leak
- Be a little more direct in looking up the files

This commit was SVN r7005.
2005-08-24 16:40:12 +00:00
Brian Barrett
440a95b808 * so apparently Linux has a lame old strerror_r that has a different
prototype than everyone else.  It's only active if _GNU_SOURCE is
  definted, which of course we have to have defined for asprintf.
  So just use strerror() underneath

This commit was SVN r7002.
2005-08-24 13:44:57 +00:00
Brian Barrett
c62ce1593a * IA64 high-res timer support for compilers without GCC-style inline
assembly

This commit was SVN r6997.
2005-08-24 03:42:31 +00:00
Jeff Squyres
bfc53fbb2f Add missing docs
This commit was SVN r6995.
2005-08-24 02:33:32 +00:00
Brian Barrett
adf92d6237 * IA32 high-res timer support for compilers without GCC-style inline
assembly

This commit was SVN r6992.
2005-08-24 00:54:16 +00:00
Brian Barrett
70ebb47670 * AMD64 high-res timer support for compilers without GCC-style inline
assembly

This commit was SVN r6989.
2005-08-23 22:07:56 +00:00
Brian Barrett
8d4175ad89 * support high-res timers even if we don't have inline assembly
This commit was SVN r6987.
2005-08-23 21:50:23 +00:00
Brian Barrett
1454e40f0e * for some reason, was having issues with C bool vs C++ bool on odin.
cast the return to an int in the C++ test case, just in case.
* C++ sucks.  If compiling with C++ on some GNU compiler/linker
  combos, the initialize hook isn't automagically fired for the
  malloc code.  Add a backup setting during opal_init, which is
  early enough not to cause any damage. 

This commit was SVN r6983.
2005-08-23 16:03:16 +00:00
Brian Barrett
2e73f0d1bd Two bug fixes to the argv code:
- If passing in a valid argv array with no members (so argv[0] == NULL),
    opal_argv_copy() should return a valid argv array with no members,
    instead of NULL.
  - make sure to update the argc value when deleting members of an array

This commit was SVN r6977.
2005-08-22 22:49:27 +00:00
Brian Barrett
b40e8be6a0 * timer support for the SGI Altix machines
This commit was SVN r6974.
2005-08-22 16:33:36 +00:00
Brian Barrett
4cf1186421 * need to include the libs in the wrapper_extra_libs in case we are building
static...

This commit was SVN r6973.
2005-08-22 04:39:21 +00:00
Brian Barrett
5375146d53 * replaces all uses of == with = in test arguments
* make sure LIBS contains -lpmapi before checking for pm_cycles()
* reorder aix functions so that we don't use get_usecs() before we
  define it

This commit was SVN r6970.
2005-08-22 03:47:48 +00:00
Brian Barrett
f48968d8f4 clean up the error code situation - ensure that OMPI_ERROR == ORTE_ERROR ==
OPAL_ERROR, same for all the other error codes.  Also, make sure that there
are never conflicts between OPAL anr ORTE error codes (for example).
Finally, provide opal_perror(), opal_strerror(), and opal_strerror_r() to
give stringified error messages for the different error codes

This commit was SVN r6969.
2005-08-22 03:05:39 +00:00
Brian Barrett
0eb5337230 * more AIX timer changes. Rough implementation, and some configure
updates that should make things out on aries happier

This commit was SVN r6963.
2005-08-21 22:43:40 +00:00
Brian Barrett
dcfcb5ab5a * shell of aix high-resolution times
This commit was SVN r6957.
2005-08-21 21:28:14 +00:00
Brian Barrett
071cf256ee * add missing header file for sysconf
This commit was SVN r6956.
2005-08-21 21:25:24 +00:00
Brian Barrett
e45fc567b3 * fix up configure help messages for timers
* make Solaris timer code compile
* fix compile error in solaris threads code

This commit was SVN r6954.
2005-08-21 21:02:28 +00:00
Brian Barrett
ecf3921ace * fix some problems with C++ protection in timer headers
* Make ompi_info list timer components
* Remove flag to display whether we have memory intercepts (components are
  already listed), until we can figure out how to do it *after* the
  components are opened.

This commit was SVN r6950.
2005-08-21 19:14:49 +00:00
Brian Barrett
f2769f14e8 * Add malloc_interpose memory manager intercept functions that should work
on all glibc systems (tested with x86 and x86_64 with a couple of C++
  compilers).  While not as ideal as the malloc_hooks method, it does
  have the advantage of working with threads.
* Modified malloc_hooks component to properly follow prefix rule.  No
  functionality changes
* Make the memory framework only chose one component, and modify all
  components to set priority to 20, except malloc-interpose, which is
  at 10.  This means that on Linux, malloc_hooks will be used unless
  threads are enabled, since I think malloc_hooks is a better design
  choice when we can use it

This commit was SVN r6949.
2005-08-21 19:01:39 +00:00
Brian Barrett
27bb12f665 * add copyright header to configure.m4 file
This commit was SVN r6948.
2005-08-21 18:56:40 +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
Rainer Keller
202dac7ace - First check for a generated atomic-asm.s file in the Builddir,
iff not availble use the top_srcdir-one.

This commit was SVN r6932.
2005-08-19 10:20:33 +00:00
Brian Barrett
10339416e4 * add C++ mangling protection
This commit was SVN r6925.
2005-08-18 15:48:59 +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
Brian Barrett
1134d9b7d7 * remove old, broken, horrible hack for doing memory intercepts on Darwin
* Add memory intercept routines for Darwin using the official Darwin
  API (thanks to Drew Gallatin from Myricom for pointing me to some
  information from Apple engineers about how to make this work)
* add debugging output to functionality test

This commit was SVN r6920.
2005-08-18 02:59:02 +00:00