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

4242 Коммитов

Автор SHA1 Сообщение Дата
George Bosilca
1c256bea2a So far we're lucky there are no static timer components otherwise
it will blow up.

This commit was SVN r11310.
2006-08-21 21:30:57 +00:00
George Bosilca
6375a61ace Support C++ compiler.
This commit was SVN r11309.
2006-08-21 21:28:56 +00:00
George Bosilca
2956947062 This prototype is already defined in this file.
This commit was SVN r11308.
2006-08-21 20:17:43 +00:00
George Bosilca
687790b874 We have a nice OBJ_CLASS_DECLARATION macro let's use it.
This commit was SVN r11307.
2006-08-21 20:12:19 +00:00
George Bosilca
c41ba431e3 As everywhere else the keysize is a size_t let's keep it consistent.
This commit was SVN r11306.
2006-08-21 20:11:12 +00:00
George Bosilca
cee4525707 As the destructor is empty just keep it simple.
This commit was SVN r11305.
2006-08-21 20:10:04 +00:00
George Bosilca
9d26565e27 Add the sched_yield for Windows.
This commit was SVN r11304.
2006-08-21 20:08:51 +00:00
George Bosilca
136c79908b Count how many times the opal library get initialized and require the same
numbers of finalizations before really destroying the internals.

This commit was SVN r11303.
2006-08-21 20:07:38 +00:00
George Bosilca
983eb15335 If we fail/miss the initialization then do not release anything.
This commit was SVN r11302.
2006-08-21 19:52:10 +00:00
George Bosilca
2922837fb4 Remove all generated_includes from the EXTRA_DIST as they are
definitively not required anymore.

This commit was SVN r11278.
2006-08-21 12:56:09 +00:00
Brian Barrett
da0610cc50 * NFDBITS is declared in sys/select.h on AIX
* Need to explicitly cast memcpy with XL on AIX

This commit was SVN r11274.
2006-08-20 21:56:45 +00:00
George Bosilca
423b5ecf93 Windows dependent files offer now a viable solution. More to come ...
This commit was SVN r11272.
2006-08-20 18:50:47 +00:00
George Bosilca
97956a2987 Useless files.
This commit was SVN r11271.
2006-08-20 18:49:17 +00:00
George Bosilca
6afa4c6c64 Windows friendly version. We have to split the OMPI_DECLSPEC in at least 3
different macros, one for each project. Therefore, now we have OPAL_DECLSPEC,
ORTE_DECLSPEC and OMPI_DECLSPEC. Please use them based on the sub-project.

This commit was SVN r11270.
2006-08-20 15:54:04 +00:00
George Bosilca
0cf537a826 Automatic text replacement work only when is done correctly.
This commit was SVN r11266.
2006-08-20 13:18:26 +00:00
Brian Barrett
c93288a96e * __USE_GNU must be set in order to get the paffinity declarations.
So define the constant if it isn't already defined.  Something else
  includes stdio.h, which has a bunch of declarations that really
  confuse non-GNU compilers, so be sure to include that one before
  setting __USE_GNU.

refs trac:280

This commit was SVN r11265.

The following Trac tickets were found above:
  Ticket 280 --> https://svn.open-mpi.org/trac/ompi/ticket/280
2006-08-20 01:45:23 +00:00
Brian Barrett
a1b0f2d5bd * opal already sets __builtin_expect, so don't try to redefine it if it's
already set.  This can annoy compilers that aren't GNUish
* __align is technically a reserved token and IBM XL appears to be doing
  something with it that causes compile badness.  So use a different
  variable name.

refs trac:279

This commit was SVN r11264.

The following Trac tickets were found above:
  Ticket 279 --> https://svn.open-mpi.org/trac/ompi/ticket/279
2006-08-20 01:42:36 +00:00
Brian Barrett
25273f57e3 * don't close debugging stream if we're just closing the unused components in
a "select only one" framework

This commit was SVN r11226.
2006-08-16 16:23:35 +00:00
Brian Barrett
7d8d5d0c75 * silence compiler warning
This commit was SVN r11194.
2006-08-15 16:11:27 +00:00
Brian Barrett
d9e06ad499 * -pedantic causes warnings in a bunch of files that Apple provided
This commit was SVN r11192.
2006-08-15 15:49:06 +00:00
Ralph Castain
d2912f03e0 Cleanup a historical naming convention problem. Move the socket_errno definitions to the OPAL layer and change the name accordingly. This cleans up some interrelationship issues as well as removing a name confusion.
This commit was SVN r11186.
2006-08-14 20:14:44 +00:00
Brian Barrett
c1040c97c6 silence some compiler warnings
This commit was SVN r11184.
2006-08-14 19:39:49 +00:00
Brian Barrett
3a7edebc71 * Use the internal (non-locking) functions when in code that will already
be holding the lock.  Fixes ticket #251.

This commit was SVN r11172.
2006-08-14 16:09:17 +00:00
Brian Barrett
dbce03c470 * don't make OPAL_EVLOOP_ONELOOP spin hard, which was causing some latency
issues Gleb saw

This commit was SVN r11169.
2006-08-14 15:02:03 +00:00
Brian Barrett
1bac566976 * update event library to libevent-1.1b
This commit was SVN r11168.
2006-08-14 14:52:39 +00:00
Brian Barrett
bc16f462b9 * print framework and component name during load errors
* return a failure from mtl select code if we don't have a
  component that can run

This commit was SVN r11092.
2006-08-02 20:59:58 +00:00
Brian Barrett
9d5f91997f * updates to build on OS X 10.3
This commit was SVN r11082.
2006-08-01 22:41:51 +00:00
Brian Barrett
a84e557815 Add new loop mode OPAL_EVLOOP_ONELOOP that behaved like OPAL_EVLOOP_ONCE
did pre-libevent update.  The problem is that the behavior of 
OPAL_EVLOOP_ONCE was changed by the OMPI team, which them broke things
during the update, so it had to be reverted to the old meaning of
loop until one event occurs.  OPAL_EVLOOP_ONELOOP will go through the
event loop once (like EVLOOP_NONBLOCK) but will pause in the event
library for a bit (like EVLOOP_ONCE).

fixes trac:234

This commit was SVN r11081.

The following Trac tickets were found above:
  Ticket 234 --> https://svn.open-mpi.org/trac/ompi/ticket/234
2006-08-01 22:23:57 +00:00
Jeff Squyres
7aac77a37c When on the IA64 platform, if we're using the Intel 9.0 v20051201
compiler, automatically disable the ptmalloc component.  It seems that
optimization level -O2 or higher will cause the generated code to do
Bad Things (e.g., opalcc will segv).  Upgrading to the Intel 9.1
compiler seems to fix the problem.

This closes ticket #227.

This commit was SVN r11076.
2006-08-01 18:48:34 +00:00
Brian Barrett
3b17a9d5ee * Older installations of XCode (even on 10.4) don't have the defines needed
for compiling the x86 stack trace unwinding code.  So don't build it on
  those platforms

This commit was SVN r11073.
2006-08-01 02:06:11 +00:00
Brian Barrett
1cc3acd6d8 * fix some warnings from the new event code
This commit was SVN r11060.
2006-07-31 17:03:30 +00:00
Brian Barrett
63f0a5f52d * Don reports that /dev/poll is borked with his version of Solaris. For
now, don't use it and go back to poll/select like everyone else.

This commit was SVN r11034.
2006-07-27 16:56:09 +00:00
Terry Dontje
9c070dafef Added missing include files and fixed some compilation errors
in the original code.

This commit was SVN r11031.
2006-07-27 14:44:54 +00:00
Sven Stork
456c872f52 - one more fix for the dist target
This commit was SVN r11029.
2006-07-27 14:20:37 +00:00
Sven Stork
8c10ea1ceb - fix dist target
This commit was SVN r11026.
2006-07-27 13:25:22 +00:00
Brian Barrett
aaf31c6ade * Make the backtrace printing functionality a framework
* Copy Linux and Solaris backtrace support from util/stacktrace.c
* Added backtrace support for Mac OS X.

This commit was SVN r11023.
2006-07-27 02:56:02 +00:00
Brian Barrett
7ea33eac02 Merge in rest of event library update branch, updating the event library to
libevent-1.1a.

svn merge -r10917:11006 https://svn.open-mpi.org/svn/ompi/tmp/libevent-update

This commit was SVN r11022.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r10917
  r11006
2006-07-27 01:51:18 +00:00
Brian Barrett
7c2ca73a1b * merge in tmp/libevent-update branch, r10914 - 10917. Rest coming soon.
This commit was SVN r11021.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r10914
2006-07-27 01:48:09 +00:00
Terry Dontje
215542ad38 Added code to pull in ucontext.h to provide the prototype for
the printstack function for Solaris systems.

This commit was SVN r10967.
2006-07-24 12:14:24 +00:00
Sven Stork
f9fd98449c - add missing prefetch header to fix dist target
This commit was SVN r10934.
2006-07-21 08:20:42 +00:00
Jeff Squyres
32c1f38976 Be a little smarter when checking the MCA parameters that specify what
components to load:

- only allow the ^ to be the first character of the value
- if we find ^ elsewhere in the value, print an error and fail  

This commit was SVN r10880.
2006-07-19 14:19:44 +00:00
Brian Barrett
2185c059e8 * use opal_free_list_item_t as the type of items stored in an opal_free_list_t,
rather than assuing it's an opal_list_item_t.

This commit was SVN r10860.
2006-07-17 21:51:50 +00:00
George Bosilca
33a7634009 Silence the compiler.
This commit was SVN r10851.
2006-07-17 17:13:28 +00:00
Terry Dontje
00694bc65c Added stacktrace support when running on Solaris.
This commit was SVN r10845.
2006-07-17 11:16:58 +00:00
Brian Barrett
dfa1221c3b * AC_CONFIG_LINKS has a minor problem in that it always uses ln -s, rather
than $(LN_S).  This causes problems with with Windows and probably
  elsewhere (re: #200).  So use a slightly different trick to get the
  right header selected for the MEMCPY and TIMER components.

* Using the same trick used to solve the AC_CONFIG_LINKS problem, 
  stop using a separate header file for direct calling in the
  PML and MTL.  This lets me remove some icky code in ompi_mca.m4
  that was more fragile than I really liked.

This commit was SVN r10841.
2006-07-16 04:23:52 +00:00
George Bosilca
a43eb4b43e It's not about how much memory we use, but about how we use it.
Keeping the cache misses as low as possible is always a good approach.
The opal_list_t is widely used, it should be a highly optimized class.
The same functionality can be reached with one one sentinel instead
of 2 currently used.
I don't have anything against the STL version, but so far nothing can
compare with the Knuth algorithm. I replace the current implementation
with a modified version of the Knuth algorithm (the one described in
The Art of Computer Programming). As expected, the latency went down.

This commit was SVN r10776.
2006-07-13 04:56:15 +00:00
Brian Barrett
6ce2b2f989 * need to check for exact equality, not just that some bits are still set.
This commit was SVN r10761.
2006-07-12 16:58:52 +00:00
Brian Barrett
4b70bb92db * Per ticket #112, localhost checks should check against 127.0.0.1/8, rather
than just 127.0.0.1.

This commit was SVN r10750.
2006-07-11 20:54:49 +00:00
Josh Hursey
682a6a123e - os_dirpath.c : reset the is_dir var each time through the loop.
- orte-clean.c : check to see if the base session directory is empty 
                 and delete it if it is.

- orte_universe_exists.c : Fix a down stread problem resulting from 
      George's r10718 commit. Don't use the 'fulldirpath' since
      that is no longer guarenteed to be the absolute path
      to the session directory. Construct this value outside of that
      function from the prefix and frontend vars.

This commit was SVN r10741.

The following SVN revision numbers were found above:
  r10718 --> open-mpi/ompi@47eef2e002
2006-07-11 17:31:05 +00:00
George Bosilca
3075225ea3 Remove the executable extension if any.
This commit was SVN r10714.
2006-07-11 05:19:54 +00:00
Josh Hursey
13f1f4d86e fix a typo when checking the return code
This commit was SVN r10686.
2006-07-06 20:49:09 +00:00
Brian Barrett
27d9e26721 Fix for ticket #179. Print a reasonable error message if we fail to parse
the compiler data file.  Also, actually fix the bug by expanding out
datarootdir before letting it get in install_dirs.h.

This commit was SVN r10643.
2006-07-04 03:00:01 +00:00
Josh Hursey
d082a63734 Add some new OPAL functionality.
After seeing the uglyness that is removing directories in the
codebase I decided to push down this to the OPAL by extending the
opal/os_create_dirpath.(c|h) to contain some more functionality.

In this process I renamed 'os_create_dirpath' to 'os_dirpath' since it
is a bit more general now.

Added a few functions to:
 - check if an directory is empty
 - check to see if the access permissions are set correctly
 - destroy the directory at the end of the dirpath
   - By using a caller callback function (a la Perl, I believe)
     for every file, the caller can have fine grained control over
     whether a specific file is deleted or not.

This simplifies things a bit for orte_session_dir_(finalize|cleanup)
as it should no longer contain any of this functionality, but uses
these functions to do the work.

From the external perspective nothing has changed, from the 
developer point of view we have some cleaner, more generic code.

This commit was SVN r10640.
2006-07-03 22:23:07 +00:00
Josh Hursey
f8541ea644 Actually define the "mca_base_param_env_var" function that was declared.
This commit was SVN r10551.
2006-06-28 21:54:31 +00:00
Brian Barrett
01913be4e6 * IA64 can have a weaker consistency model for memory than x86, so we
need memory barriers to actually do something other than hint
  to the compiler not to reorder memory-related instructions.  The
  IA64 instruction for memory barriers is "mf".

  Fixes bug #137.

This commit was SVN r10401.
2006-06-17 05:01:54 +00:00
Brian Barrett
b9e5acfbe3 * fix issue with PGI compilers at -O3 not liking the structure assignment -
they only appeared to copy the top half of the structure.  Just do
  pointer casting instead and avoid the whole issue.

This commit was SVN r10338.
2006-06-13 19:43:44 +00:00
Brian Barrett
f0a690933f Clean up the opal_free_list code. We don't use the user_data flag in the
opal_free_list_item_t and everyone was just treating them as
opal_list_itme_t structures, which meant that they were overwriting the
user_data memory anyway.  So make an opal_free_lsit_item_t be just a
opal_list_item_t.

Also, opal_free_list_item_t wasn't a proper class, which made it slightly
less than nice to use, so fix that part up.  Also update the
opal_free_list_t to use the class macros, so that it is more obvious we
actually do the right thing.

This commit was SVN r10304.
2006-06-12 14:49:03 +00:00
George Bosilca
85b60cf2bd Having access to the full power of the prefetch is way more interesting. There
are 3 arguments: the pointer to the memory location to prefetch, the type of
operation that will be done on the memory (read or write) and the expected
locality.

This commit was SVN r10294.
2006-06-11 20:10:36 +00:00
Brian Barrett
4c80624fb3 * As promised to George and per #93, add macros for hinting to the compiler
whether an if statement is likely to be taken and for prefetching memory.
  Current macros:

    OPAL_LIKELY(expression)
    OPAL_UNLIKELY(expression)
    OPAL_PREFETC(address)

This commit was SVN r10278.
2006-06-09 19:50:51 +00:00
Jeff Squyres
18f095db16 Update comments to clarify how this file is used.
This commit was SVN r10190.
2006-06-05 13:59:43 +00:00
George Bosilca
372ae03535 There should be one gap between the constructors and the destructors, otherwise
the last constructor will be set to NULL overwriting the first destructor. This
prevent us from calling the destructors on some classes.

This commit was SVN r9969.
2006-05-18 16:21:29 +00:00
Brian Barrett
e76c0ceadb mutex_trylock returns 0 (success) if locked and non-zero (error) if not
locked.  Make the non-threaded case always return "locked", similar to
the non-threaded case for mutex_lock.

This commit was SVN r9956.
2006-05-17 15:50:21 +00:00
Brian Barrett
dc47dd39aa * mvapi's deregister call calls free, and the fast bins in ptmalloc2 aren't
reentrant for free(), so we can't call free() from inside an sbrk() handler.
  The solution is never call sbrk() with a negative number.  The mmap() allocator
  used for large allocations does not have this problem and continues to give
  memory back to the OS as soon as possible.

This should go to both the v1.1 and v1.0 branches.

This commit was SVN r9943.
2006-05-16 21:16:55 +00:00
Jeff Squyres
19a51e2492 Clarify the documentation.
This commit was SVN r9904.
2006-05-12 02:14:57 +00:00
Brian Barrett
10a05dc0d1 * Fix comment about size_t being unsigned
* Fix initializer - shouldn't assign a negative value into an unsigned
  variable

This commit was SVN r9790.
2006-05-02 12:21:30 +00:00
Brian Barrett
52369307f8 Add a feature to the build system that Terry from Sun and I talked about
in San Jose.  Allow the configure option --disable-binaries to build OMPI,
but not build or install the support binaries (so basically, just build
the libraries).

This commit was SVN r9777.
2006-04-29 02:16:41 +00:00
George Bosilca
c258861882 Allow atomic pointer arithmetic and correct some name errors.
This commit was SVN r9541.
2006-04-06 06:06:46 +00:00
Brian Barrett
176aa8b7e1 include default implementation header file in tarball. fixes make distcheck,
I think

This commit was SVN r9540.
2006-04-06 02:46:14 +00:00
Brian Barrett
6691e55d30 * sync opal_atomic_cmpset_{32,64} for AMD64 with the x86 32 bit version,
as I understand how that one works and don't really understand what
  was in the amd64 code (which was copied from before I started working
  on the inline assembly).  This fixes the race condition we were
  seeing on PGI causing test failures
* sync non-inline assembly with inline assembly version

This needs to go to the v1.0 branch

This commit was SVN r9539.
2006-04-06 01:23:33 +00:00
George Bosilca
6e6698bec3 Open and close the memcpy component. Hopefully it is in the right place, as
the memcpy should be available as soon as possible after startup.

This commit was SVN r9533.
2006-04-05 05:57:51 +00:00
George Bosilca
d311d8acf1 The memcpy framework. The base component is here, but right now no
implementations. I dont want to overload the memcpy functions,
therefore people interested in using the high performance memcpy
should use directly opal_memcpy instead. Notice, that there are 2
other versions of memcpy available, which use a destination or a source
described as iovecs.

This commit was SVN r9532.
2006-04-05 05:56:08 +00:00
Brian Barrett
4b1b99d7c9 * better support platforms without any concept of a terminal at all
This commit was SVN r9503.
2006-03-31 18:51:06 +00:00
Galen Shipman
5271948ec0 --- opal object changes
add object size to opal class
no longer need the size when allocating a new object as this is stored in
the class structure

--- dr changes 
Previous rev. maintained state on the communicator used for acking duplicate
fragments, but the communicator may be destroyed prior to successfull
delivery of an ack to the peer. We must therefore maintain this state
globally on a per peer, not a per peer, per communicator basis. 
This requires that we use a global rank on the wire and translate this as
appropriate to a local rank within the communicator. 

This commit was SVN r9454.
2006-03-29 16:19:17 +00:00
Gleb Natapov
2d9757e81b Fix deadlock in opal_condition. If broadcast is called on condition with more than one thread waiting on it the first awaken thread may consume all signals so other threads will never run.
This commit was SVN r9451.
2006-03-29 14:54:58 +00:00
Tim Woodall
bd870519fd - modified convertor copy_and_prepare routines to accept an addition
flag, new flags to be included when convertor is initialized
- modified pml/btl module defs and added stub functions for diagnostic
  output routines to dump state of queues / endpoints
- updates to data reliability pml

This commit was SVN r9329.
2006-03-17 18:46:48 +00:00
Rainer Keller
d5d552c97b - Delete the compiler-generated comments APP/NO_APP, as some
assemblers do not understand them (SunOS 5.10)

This commit was SVN r9307.
2006-03-16 15:14:00 +00:00
Sven Stork
bfa59f07b3 - fix wrong write length, we have to write the amount of data that is used and not free
- replace numeric constant by symbolic name

This commit was SVN r9288.
2006-03-15 15:06:09 +00:00
Brian Barrett
1f6e85af4c Let's try this again, this time with less suck.
* Don't do the .in -> .tmp -> header thing for the prefixes and versions.
  It causes some severe cleanup issues all to save 4 files from rebuilding
  when configure is run.
* Clean up some makefiles so it's clear what is being installed/disted

This commit was SVN r9260.
2006-03-12 17:56:58 +00:00
Brian Barrett
c42da09796 * Fix a small bug George noticed - if you change the prefix (or any of the
installation directories) in configure, the files that depend on this
  information are not properly rebuilt.  If you need this information,
  don't setup a -D in the Makefile.am - instead, include 
  opal/install_dirs.h.
* Use the : option in AC_CONFIG_FILES to avoid needing to expose that
  we are playing around with temporary files with our headers to avoid
  rebuilding
* Clean up the version file information a bit, and like the install 
  directory stuff, make sure that there is a dependency so that 
  ompi_info gets rebuilt properly when a version number changes.

This commit was SVN r9256.
2006-03-12 04:35:01 +00:00
Brian Barrett
6b0069b820 * We don't need the ttcompat module loaded into the stream on Solaris, and it
was causing problems (indeed, we don't have it in LAM and it hasn't caused
  problems in the last many many years).  Standard I/O forwarding now works
  properly on Solaris in both 32 and 64 bit builds
* Add NEWS item about standard I/O on platforms without openpty()

This commit was SVN r9255.
2006-03-11 17:56:30 +00:00
Brian Barrett
710bca2df4 * properly enable threading support inside ptmalloc2=. Thanks to Tim for
figuring out that ptmalloc2 was borked.

This commit was SVN r9251.
2006-03-11 02:37:55 +00:00
Brian Barrett
d0f5f8a242 * enable pty support for platforms that do not have openpty(), but do
have pty support in general.

This commit was SVN r9250.
2006-03-11 02:35:40 +00:00
Brian Barrett
0322bad8f3 * fix stupid missing closing ). Thanks to George for pointing this one out.
This should go to the v1.0 branch with r9223.

This commit was SVN r9224.

The following SVN revision numbers were found above:
  r9223 --> open-mpi/ompi@d71750d073
2006-03-09 05:24:32 +00:00
Brian Barrett
d71750d073 * Some platforms have a va_list such that even passing it into a subroutine
still allows its state to be modified (Solaris on Opteron, for example),
  so we need to copy the va_list if we are going to use it twice.  Fixes
  a segfault on Opteron Solaris.  Thanks to Pierre Valiron for reporting
  the issue and for providing access for testing.

This needs to go to the 1.0 branch.

This commit was SVN r9223.
2006-03-09 05:06:37 +00:00
George Bosilca
df37f57b9f Return something in all the cases (false if nothing complete).
This commit was SVN r9208.
2006-03-06 18:14:17 +00:00
Rainer Keller
5c7497bceb - In fix r9182, stream with id 0 was explicitly exluded
Still release the standard stream upon finalizing.

This commit was SVN r9204.

The following SVN revision numbers were found above:
  r9182 --> open-mpi/ompi@a2a26525b3
2006-03-05 11:45:43 +00:00
Tim Woodall
8bf6ed7a36 - corrected locking in gm btl - gm api is not thread safe
- initial support for gm progress thread
- corrected threading issue in pml
- added polling progress for a configurable number of cycles to wait for threaded case

This commit was SVN r9188.
2006-03-02 00:39:07 +00:00
Rainer Keller
a2a26525b3 - Release the output-stream in mca_base_component_close
- Destroy the verbose-stream upon finalize, not when closing.
   Also free the output_prefix and output_dir variables.

This commit was SVN r9182.
2006-02-28 12:33:42 +00:00
George Bosilca
0320551262 Update include path.
This commit was SVN r9156.
2006-02-27 02:15:53 +00:00
George Bosilca
7abccaa819 Update the includes.
This commit was SVN r9155.
2006-02-27 02:14:31 +00:00
Brian Barrett
1832a30c92 * htonl requires arpa/inet.h on most unix platforms...
This commit was SVN r9150.
2006-02-26 19:10:26 +00:00
Brian Barrett
68f5ad074a * need synch.h as well as threads.h for Solaris threads.
This commit was SVN r9149.
2006-02-26 17:08:47 +00:00
Jeff Squyres
bd04d8f09e Add missing <thread.h> for Solaris
This commit was SVN r9148.
2006-02-26 16:56:38 +00:00
Brian Barrett
285581dff2 More endian-related cleanups:
- moved hton64 and ntoh64 from the bunch of places it had been copied
    into one header file
  - properly set and use the btl_tcp's nbo option to put things in
    network byte order on the wire if both sides don't have the same
    endianness
  - Put the OB1 PML's headers (with a couple exceptions I need to discuss
    with Tim) in network byte order on the wire if both sides don't have
    the same endianness
  - since it was needed for the TCP BTL, move the orte_process_name_t
    HTON and NTOH macros from the TCP OOB to ns_types.h

This commit was SVN r9145.
2006-02-26 00:45:54 +00:00
George Bosilca
670cefa1d0 Reorder the if's to avoid doing useless functions calls on the fast path.
This commit was SVN r9061.
2006-02-16 16:08:12 +00:00
Jeff Squyres
b8ae4060b2 Fix warnings about setting read-only MCA parameters on bproc systems.
This commit was SVN r9057.
2006-02-16 04:41:38 +00:00
Brian Barrett
ef83e692cc * fix a bad fix from the Open MPI developers meeting. I didn't add proper
support for Fortran 90 module flags in the wrapper compilers when I 
  re-wrote them to be less project-specific.  Re-add that support and drop
   the ugly install in include hack I had done.

This commit was SVN r9003.
2006-02-13 02:39:32 +00:00
George Bosilca
ecc3e00362 Various cleanups.
This commit was SVN r9002.
2006-02-12 21:36:07 +00:00
Brian Barrett
e5ac52c246 * must include opal/types.h in the tarball
This commit was SVN r8993.
2006-02-12 15:50:01 +00:00
Brian Barrett
913890f534 * forgot to add new directories into DIST_SUBDIRS as well as SUBDIRS, so
tarballs were missing some directories.

This commit was SVN r8989.
2006-02-12 07:06:38 +00:00
George Bosilca
c8842181d1 Correct the obj_update for the threaded mode.
This commit was SVN r8988.
2006-02-12 05:36:00 +00:00
Brian Barrett
eafb3bc7ca *include opal_stdint.h, not ompi_stdint.h
This commit was SVN r8987.
2006-02-12 02:54:31 +00:00
Brian Barrett
ad172b0088 * fix one more header file
This commit was SVN r8986.
2006-02-12 02:27:14 +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
George Bosilca
d56656580a Profiling shows that we spend way to much time (it's relative of course but it's still more
than I want to) on the constructor and destructor loops. Compress the constructors and
destructors array to remove all the useless tests against NULL. Now we use the cache a
little bit more efficient.

Correct a threading problem in the obj_update function. In the threaded case we have to
return the value returned by the ompi_atomic_add function otherwise there are ways
leading to the release of an object twice.

This commit was SVN r8966.
2006-02-10 21:04:26 +00:00
Brian Barrett
6bf7567639 * we really shouldn't be setting umask(0), since that's going to make files
world writable by default.  We shouldn't be setting the umask, period, unless
  we restore it before we fork off the user's process.  Since we don't have a
  way of doing that now, just leave the umask alone.

  This should go to the v1.0 branch

This commit was SVN r8935.
2006-02-08 16:18:15 +00:00
Brian Barrett
e3ded6f8cf * add a #define for Galen as to whether or not any memory component was
built.

This commit was SVN r8928.
2006-02-08 00:50:42 +00:00
Brian Barrett
bc22539441 * update the code used when calls are made for every malloc/free in the
ptmalloc2 component - it had bit-rotted a bit.

This commit was SVN r8911.
2006-02-07 00:03:52 +00:00
George Bosilca
897751bb8d Update the windows threads.
This commit was SVN r8901.
2006-02-06 04:17:13 +00:00
Brian Barrett
03f6a8529c * Fix situation where we were unlocking a mutex we didn't own in an error
cleanup code in the signal part of the event library
* Only attempt to forward standard input if we have a controlling terminal
  (isatty() returns 1) and we are the foreground process OR we do not have
  a controlling terminal (isatty() returns 0).  If we have a controlling
  terminal, check at each SIGCONT if we should change our forwarding,
  since our foreground / background status may have changed.

  Unfortunately, there isn't a great way in the iof framework to know if
  we are capturing a starter's stdin.  Use the logic that if it's a source
  AND tagged as standard input, it's a starter's stdin.  This seems to
  work for all the common usages.

Both these need to go to the v1.0 branch.

This commit was SVN r8894.
2006-02-04 23:26:58 +00:00
Rainer Keller
60c2ae768b - Change the spacing preventing finding the struct from script.
This commit was SVN r8819.
2006-01-26 11:55:00 +00:00
George Bosilca
320830a25f A shorter version of the macro
This commit was SVN r8791.
2006-01-23 19:43:46 +00:00
George Bosilca
ce1908d4c1 Do not forget to reset the heaqd of the list after a pop operation.
This commit was SVN r8790.
2006-01-23 19:41:39 +00:00
George Bosilca
f4f8abe3bd Add the OPAL_MUTEX_TRYLOCK macro.
This commit was SVN r8789.
2006-01-23 18:35:40 +00:00
George Bosilca
2188444229 Add support for lock-free "Last In First Out" lists and add them to the build.
This commit was SVN r8788.
2006-01-23 18:20:53 +00:00
Brian Barrett
5e6798cb4d * with ptmalloc2, prefer syscall over dlsym for calling the real munmap. This
makes illegal free() calls behave in a much more rational way.  You'll still
  probably die, but your stack trace will not have 3 billion pages of recusion
  inside the memory allocator.
* Fix illegal free in the opal_wrapper code.  basename() returns a string in a
  static buffer, so it shouldn't be free()ed.  It also shouldn't be left around
  so long, as another call to basename() may whack the returned buffer.  So
  leave the free and add a strdup() around the basename() call.
* Turn off some unneeded debugging in the opal_wrapper code that would list the
  comamnd to be run, regardless of the -showme option.

This commit was SVN r8758.
2006-01-19 18:48:58 +00:00
George Bosilca
29684dd800 Remove a warning about an unused variable.
This commit was SVN r8755.
2006-01-19 15:52:17 +00:00
George Bosilca
8b50c3d8c3 Handle systems where the HOME directory is NULL (windows and friends).
A small and ugly workaround the path problem on windows (the absolute
path start with [a-z]: whn : is considered as separator for most of
the environment variables.

This commit was SVN r8746.
2006-01-19 07:05:34 +00:00
George Bosilca
b58921c7ad Correctly compute the length of the path (including systems where the delimitator
is not just one char) and use the computed length. Handle Windows paths as they
don't have to start with /.

This commit was SVN r8744.
2006-01-19 06:58:49 +00:00
George Bosilca
e728fc0c15 I know windows is "different" ... but not at this point !!!
This commit was SVN r8743.
2006-01-19 06:54:23 +00:00
George Bosilca
9fe0969f0e Enable multi-threaded builds.
This commit was SVN r8735.
2006-01-18 21:48:40 +00:00
Brian Barrett
17197666bf When heap is shrinking ptmalloc tries to be smart and uses mmap to change
page protection, which causes the pages to be droped, which causes problems
if we don't deregister the pages first.  Since memory is cheap in this case
(it is still usable, should ptmalloc2 want it back, and is limited in size),
we just mprotect the pages instead.  This solves the dropping pages problem,
and doesn't cause even more calls into the cache code.

Thanks to Gleb Natapov for both finding the problem and giving a fix.

This should go to the v1.0 branch

This commit was SVN r8732.
2006-01-18 16:23:52 +00:00
Brian Barrett
759bfc91a3 * George pointed out this should be OMPI_HAV_ESOLARIS_THREADS, not OPAL_HAVE_
SOLARIS_THREADS...

This commit was SVN r8713.
2006-01-17 17:17:25 +00:00
Brian Barrett
e830339098 * turns out nodist_ and dist_ mean different things... We actually want to
include help-opal-wrapper.txt in the dist tarball directly.  We don't want
  to include the wrapper-data.txt files, because we actually want to ship the
  .in versions of those files, and AM automatically ships aything needed for
  configure's output

This commit was SVN r8711.
2006-01-17 15:23:46 +00:00
George Bosilca
bd5bcdc8a3 Add missing include files for x86 builds.
This commit was SVN r8710.
2006-01-17 13:22:08 +00:00
Brian Barrett
be13362899 * add missing headers for the WIF macros
This commit was SVN r8704.
2006-01-16 15:46:17 +00:00
Brian Barrett
187f1b21bb remove reference to file that doesn't exist
This commit was SVN r8703.
2006-01-16 14:00:52 +00:00
Brian Barrett
17d2c907fc Some changes to better support cross-compiling OMPI:
- fall back to compile test for windows paffinity component
    when cross compiling
  - fall back to platform guess when checking for threads having
    different pids with pthreads (yes on linux, no elsewhere)
  - pass the proper host, target, and build flags to the
    ROMIO configure script

With these changes, cross-compiling should be possible with the exception
of the Fortran 77 and Fortran 90 bindings.  Fortran 77 can be cross-
compiled if cache values are provided for type sizes and alignment.

This commit was SVN r8702.
2006-01-16 04:00:44 +00:00
Brian Barrett
edfdf13096 fix missing SUBDIRS
This commit was SVN r8700.
2006-01-16 02:00:10 +00:00
Brian Barrett
c96f870674 * Merge of wrapper compiler updates from the bwb-wrapper-fix branch (r8690 -
r8698), with changes below:

  - Split wrapper flags into those required for each of the three projects,
    and cleaned up some cruft (including the LIBMPI_EXTRA_*FLAGS) through-
    out the build system
  - Added opal_init_util and opal_finalize_util to allow init / cleanup
    of all the opal code that doesn't require the MCA system
  - Create standalone key=value file parser, based on the one that used
    to be in the mca param parser, so that it can be shared in multiple
    places
  - Add wrapper datafiles for opal, orte, and ompi wrappers, and add
    wrapper compiler with support for all the old features

This commit was SVN r8699.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r8690
  r8698
2006-01-16 01:48:03 +00:00
George Bosilca
bf266c6109 Rollback the 8682 commit until we figure out the correct way to do it. It break several things
inside (like MPI_Wait* functions).

This commit was SVN r8686.
2006-01-13 22:02:40 +00:00
Rainer Keller
95f886b6ab - Protect callers of opal/ompi_condition_wait from spurious wakeups,
possible when with building with pthreads.
   Compiled on Linux ia32 with and without
   --enable-progress-threads

This commit was SVN r8682.
2006-01-12 17:13:08 +00:00
George Bosilca
698b9b52fe There is no need for the ret variable when DEBUG is not enabled.
This commit was SVN r8675.
2006-01-11 20:56:22 +00:00
Brian Barrett
234c6b96c3 commit missing file from r8672
This commit was SVN r8674.

The following SVN revision numbers were found above:
  r8672 --> open-mpi/ompi@60ac1cb5f4
2006-01-11 05:02:15 +00:00
Brian Barrett
80c5e5c8ba * fix assembly issues for linux, which wants a notation to make the stack
non-executable.

  This should go to the v1.0 branch

This commit was SVN r8673.
2006-01-11 04:49:40 +00:00
Brian Barrett
60ac1cb5f4 print stack traces (when available) for opal and orte processes, as well as
ompi processes.  Also add SIGABRT to the list of signals that are intercepted
to print out pretty messages.

This commit was SVN r8672.
2006-01-11 04:36:39 +00:00
Brian Barrett
9310fd6f85 When debugging code is turned on with --enable-debug, try to use error checking
mutexes instead of fast mutexes.  If an error occurs, a message will be
printed, and abort() will be called.

This commit was SVN r8671.
2006-01-11 04:34:29 +00:00
Jeff Squyres
607b6d5940 Make the array be long enough, otherwise strncpy() on some platforms
will clobber it (e.g., FC4 which will pad the end of the string with
\0's).

This commit was SVN r8656.
2006-01-05 18:45:36 +00:00
Jeff Squyres
c3cc1d5bbc Avoid false positives in bcheck/valgrind -- there are holes in the
mca_base_param_t struct, and it eventually ends up getting memcpy()'ed 

This commit was SVN r8642.
2006-01-04 22:18:30 +00:00
Jeff Squyres
d9ec36c5fe Add OMPI_DEBUG_ZERO to a struct so that valgrind doesn't complain when
looking for memory errors (i.e., it's ok for some fields to be
uninitialized when memcpy'ing the data)

This commit was SVN r8640.
2006-01-04 20:57:57 +00:00
George Bosilca
b3c6c7b442 We need sys/types.h.
This commit was SVN r8619.
2005-12-31 14:55:39 +00:00
George Bosilca
7a88e72c1b Add more protections around the headers.
This commit was SVN r8617.
2005-12-31 12:35:24 +00:00
George Bosilca
163391d71a Cleanup the win32 stuff. Add some more definition for UNIX compatibility. There
is still an issue with the OMPI_DECLSPEC but I will investigate it a little
bit later.

This commit was SVN r8614.
2005-12-31 12:23:28 +00:00
Jeff Squyres
6770facf59 Remove "static inline" from a prototype of a function that isn't
static inline.

This commit was SVN r8587.
2005-12-22 05:34:36 +00:00
George Bosilca
b88f2a3c32 More protection around the atomic operations on Windows. Still ahve to find
a way to detect them correctly without popping up a Windows error message box.

This commit was SVN r8586.
2005-12-22 00:13:09 +00:00
George Bosilca
b6036d985b Updated version of the windows compatibility file.
This commit was SVN r8585.
2005-12-22 00:10:56 +00:00
Jeff Squyres
f1e8790bbe Add remaining OPAL error codes in opal_err2str()
This commit was SVN r8573.
2005-12-21 06:27:34 +00:00
Brian Barrett
3f6c409164 * Need to specify link order to make sure we grab the right mmap
This commit was SVN r8556.
2005-12-20 00:50:47 +00:00
Brian Barrett
08799e4a48 * Make the format of the --with-BTL options the same for all the BTLs
* Make sure --without-BTL works for all BTLs
* Fix copy-n-paste error in aix timer configrue help string

This should go to the v1.0 branch

This commit was SVN r8554.
2005-12-20 00:47:36 +00:00
Brian Barrett
f993b3a1f0 * 1, 0, they're all the same...
This commit was SVN r8550.
2005-12-19 22:01:56 +00:00
Brian Barrett
7801b9045f temporarily bring back the malloc_hooks code so that Galen and I can do
some regression testing

This commit was SVN r8548.
2005-12-19 21:08:51 +00:00
Brian Barrett
22d058e67c make windows component prefered over linux component. Cygwin provides a
/proc/cpuinfo (which is weird), so the Linux component was getting selected
when on Windows...

This commit was SVN r8543.
2005-12-19 06:55:01 +00:00
Brian Barrett
70f4c0f281 update WIN32 defines to __WINDOWS__
This commit was SVN r8542.
2005-12-19 05:43:40 +00:00
Brian Barrett
aca7c97451 properly build when we don't have any ASM support (ie Windows w/ CL compiler)
This commit was SVN r8541.
2005-12-19 05:39:07 +00:00
Brian Barrett
a5af07cd6b fixes suggested by Ralf for supporting both Libtool 1 and 2 in Open MPI...
This commit was SVN r8538.
2005-12-19 03:10:23 +00:00
George Bosilca
4d1be7f4fe Add the win32 directory to the build system but only if we build on
Windows.

This commit was SVN r8535.
2005-12-17 22:09:23 +00:00
George Bosilca
958bba0f99 mca_base_param_find should be exported.
This commit was SVN r8534.
2005-12-17 22:08:02 +00:00
George Bosilca
08d33cfd52 Cleanups for the windows helpers. They will get included on the next commit.
This commit was SVN r8533.
2005-12-17 22:07:04 +00:00
Brian Barrett
5685144e3d * update darwin memory hooks code to recent changes in API
This commit was SVN r8522.
2005-12-16 02:01:38 +00:00
Brian Barrett
b42bb3d8e8 More memory hooks tweaks... Set a flag on callbacks if the allocation /
deallocation came from the allocator (malloc, fee, etc) or somewhere
else (the user calling mmap/munmap, etc).  Going to be used by Galen
to determine if it is worth searching the allocations tree

Set flag if it is possible to intercept mmap (not always possible
due to a circular dependency between mmap, dlsym, and calloc)

This commit was SVN r8521.
2005-12-16 01:12:45 +00:00
Brian Barrett
2a94f693f6 * make sure to actually add the ptmalloc2-specific library dependencies to
LIBADD, so that libtool does it's magic propogation thing...

This commit was SVN r8508.
2005-12-15 18:11:51 +00:00
Jeff Squyres
6bc6178e8d Make the comment explain much more fully what is going on (in typical
Jeff-length).  Also change it such that we also have a lt_dlhandle
type -- even in the case of --disable-dlopen.  Specifically, even in
the case of --disable-dlopen, we still have shell functions that use
an lt_dlhandle parameter, so we need that type, even if <ltdl.h> isn't
used.

This commit was SVN r8507.
2005-12-15 17:47:54 +00:00
Brian Barrett
e574fd7fbe - update some svn ignores
- don't fail to configure if threads aren't found, since
  we don't have thread support on windows
- rather than setting the asm file name to none in asm-data,
  special case windows w/ CL in the ompi_config_asm macros.
  Otherwise, there were some warnings during make dist and
  configure that didn't need to be there.

This commit was SVN r8502.
2005-12-15 04:19:16 +00:00
Brian Barrett
e8cca1710f couple of changes to make Open MPI compile under Cygwin with gcc:
- add the right asm format
  - add checks for some constants / fields that cygwin
    doesn't have in the stacktrace code
  - fix for slightly more verbose libtool 2 betas that
    have multiple lines for link output

This commit was SVN r8501.
2005-12-15 00:51:28 +00:00
Brian Barrett
01e7191c3e * use our memory barriers instead of ptmalloc2's, since it only does the
right thing with gcc on x86.

This commit was SVN r8490.
2005-12-13 16:04:48 +00:00
Rainer Keller
e59291ebd3 - As I got a conflict for doing the same thing due to problems on SX,
decided check in...
   Protect also stdio.h

This commit was SVN r8486.
2005-12-13 08:05:41 +00:00
George Bosilca
c9c9a6df61 A line for WINDOWS asm support ... yes none at the moment. Most of the
functions we generate from assembler are available on windows.

This commit was SVN r8485.
2005-12-13 06:18:39 +00:00
George Bosilca
cf09491da5 Remove all useless header as well as those generating name conflicts (io.h).
This commit was SVN r8484.
2005-12-13 06:17:15 +00:00
George Bosilca
af39262a66 I hope I get it right this time. We detect at configure time if the current
Windows installation provide the 32 and 64 bits atomic operations and compile
only the relevant part. For 64 bits there is a problem, but I already put a
big comment about it in the configure file ...

This commit was SVN r8480.
2005-12-13 06:08:45 +00:00
George Bosilca
30648c55ff First version of the paffinity for Windows. We detect correctly if the
functions are available in the .h file as well as the kernel32.dll but
we generate empty functions.

This commit was SVN r8478.
2005-12-13 06:04:41 +00:00
George Bosilca
3e03a5f702 A better comment I hope ...
This commit was SVN r8477.
2005-12-12 23:39:40 +00:00
George Bosilca
ed234c910f The compare and set return an int (always).
This commit was SVN r8476.
2005-12-12 23:17:04 +00:00
George Bosilca
39e8d4ce02 Protect the function definition not the typedef.
This commit was SVN r8475.
2005-12-12 22:33:02 +00:00
George Bosilca
6f3ac068a6 Use Windows functions ... Microsoft complain about a bunch of POSIX functions as being
deprecated. They offer the _ version as not deprecated, so let's use what they provide.

This commit was SVN r8470.
2005-12-12 22:04:30 +00:00
George Bosilca
c107d02eee Miss this one on the last commit.
This commit was SVN r8469.
2005-12-12 22:02:42 +00:00
George Bosilca
bd0ee62e62 Protect headers and use __WINDOWS__ for Windows code.
This commit was SVN r8468.
2005-12-12 22:01:51 +00:00
George Bosilca
8c71f578da The real timer in Windows is a long long.
This commit was SVN r8467.
2005-12-12 21:52:53 +00:00
George Bosilca
6e5aeab0b5 Remove the dependance to ltdl.h for all the the places where we dont't really need it. Read
the comment for more informations.

This commit was SVN r8466.
2005-12-12 21:51:20 +00:00
George Bosilca
1f342275a0 Support the atomic.h and timer.h header files.
This commit was SVN r8462.
2005-12-12 19:52:13 +00:00
Brian Barrett
d8d67b618f don't intercept mmap if we have to use dlsym to get at the real mmap. dlsym
may call calloc(large number), which causes ptmalloc2 to call mmap, which
causes us to try to dlsym for mmap, which leads to looping badness.

This commit was SVN r8461.
2005-12-12 19:38:42 +00:00
George Bosilca
436ef18ec2 Adding high performance timers for windows (the same as for Linux we use the counters from
the processor).

This commit was SVN r8458.
2005-12-12 17:27:48 +00:00
Brian Barrett
6c4ac2299c fix typo in release hooks if calling for every malloc/free
This commit was SVN r8431.
2005-12-10 05:06:52 +00:00
George Bosilca
699653f733 Typo correction.
This commit was SVN r8427.
2005-12-09 05:17:27 +00:00
Brian Barrett
0348d02875 * need to expose posix_memalign so that the one in our ptmalloc2 is used
instead of the one in libc.  Thanks to Gleb Natapov for tracking this
  down.

This commit was SVN r8418.
2005-12-08 18:06:52 +00:00
George Bosilca
d145902b17 Move all win32 related files in opal, and modify all the Makefiles.am to
include the change.

This commit was SVN r8412.
2005-12-08 06:17:15 +00:00
Brian Barrett
364ca3f075 - Add configure-time switch (--enable-ptmalloc2-opt-sbrk) to control when
the ptmalloc2 memory hooks component triggers callbacks for memory
  allocation / deallocation.  If enabled (the default) it is only when
  memory is actually obtained from or released to the OS (so little
  malloc calls only trigger callbacks if sbrk is called).  If disabled,
  callbacks are triggered every time malloc/free/etc. is called
* It turns out that syscall and mmap aren't good friends due to the return
  type of mmap and some old legacy issues with syscall functions that
  take more than 5 parameters.  For now, default to either loading
  the symbol from glibc using dlsym or using the __m{un,}map functions.
  Thanks to George for finding this.
* Fix some dumb typos in the mmap / munmap catching code

This commit was SVN r8410.
2005-12-08 04:47:03 +00:00
George Bosilca
f636243309 Look like opal is a better place for windows related stuff.
This commit was SVN r8405.
2005-12-08 00:07:40 +00:00
Brian Barrett
aa28207fdc don't include gas assembler hints
This commit was SVN r8400.
2005-12-07 18:18:36 +00:00
Jeff Squyres
b04f6bf71b Fix a segv; it's possible to have an empty string parameter (""), such
that opal_argv_split() will return an empty array.  So test for that
case before trying to iterate through the array.

This commit was SVN r8396.
2005-12-06 20:06:40 +00:00
George Bosilca
1fe691c1f5 powerpc-apple-darwin8-gcc-4.0.0 catch 2 warnings about uninitialized usage. Reading the code I have to agree with it,
even if it's highly improbable that it could happens in real life. But we never know ...

This commit was SVN r8393.
2005-12-06 18:44:52 +00:00
George Bosilca
9efd0e0813 Include the memoryhooks.h after the standard include files to insure that all expected types are
correctly defined (like size_t).

This commit was SVN r8383.
2005-12-06 05:55:36 +00:00
George Bosilca
23c618ab51 Allow a VPATH build to find the include files.
This commit was SVN r8382.
2005-12-06 05:26:36 +00:00
Brian Barrett
f44bd9e067 * Intercept both allocations and deallocations from ptmalloc2 (including
both mmap and munmap), adjusting the configure script so that the
  component will only be activated on systems that use ptmalloc2 in the
  first place -- ie, Linux
* Remove the malloc_hooks component - it became an unworkable solution
  once threads and such were considered.
* Remove malloc_interpose component - it never worked quite right and
  was not going to be able to intercept malloc, so it wasn't going to
  be useful for OMPI's purposes.
* Update tests a little bit to match recent memory hooks api
  issues - still needs a bit of work.

This commit was SVN r8381.
2005-12-06 00:44:50 +00:00
Brian Barrett
4ada272062 update memory hooks to properly initialize, even if malloc hasn't been
called when the component is initialized...

This commit was SVN r8369.
2005-12-02 00:59:03 +00:00
Brian Barrett
e338d65540 * can't dlsym for calloc, since dlsym calls calloc. So the interpose library
can only really intercept frees :(

This commit was SVN r8351.
2005-12-01 16:01:41 +00:00
Brian Barrett
13b8e166ba * documentation updates for memory hooks. Reordered some declarations, but there
were no interface changes in this commit.

This commit was SVN r8317.
2005-11-29 19:42:07 +00:00
Rainer Keller
b528a4dbcd - Add string.h for --enable-picky build.
This commit was SVN r8307.
2005-11-29 09:17:47 +00:00
Brian Barrett
79bf8843d2 * update memory hooks interface to allow for callbacks on both allocations
and dealllocations, per request from Galen and Tim

This commit was SVN r8303.
2005-11-29 04:46:14 +00:00
Brian Barrett
682615dafe * make sure to distribute crc.h in dist tarballs
This commit was SVN r8298.
2005-11-29 01:07:30 +00:00
Tim Woodall
a6e91439b5 corrected copyrights
This commit was SVN r8284.
2005-11-28 20:09:21 +00:00
Tim Woodall
7667cfb104 checksum/crc routines from la-mpi
This commit was SVN r8272.
2005-11-28 17:20:21 +00:00
George Bosilca
16ca6e4c88 error seems to be a reserved keyword for some compilers ...
This commit was SVN r8262.
2005-11-26 21:18:47 +00:00
Brian Barrett
c6fb3217f8 always include ltdl.h with the full opal path, so that we always grab our
version instead of the (possible) system installed version.

This commit was SVN r8248.
2005-11-23 19:30:12 +00:00
George Bosilca
05a5fb4b05 One less dynamically alllocated array. We can just use vfprint.
This commit was SVN r8239.
2005-11-22 21:53:39 +00:00
Jeff Squyres
949fbcabc7 A pox on Linux and the convoluted configure tests that it makes me
do.  Really fix the MCA info params this time -- ensure to not use
#define's that may be #undef'ed.

This commit was SVN r8235.
2005-11-22 17:18:14 +00:00
Jeff Squyres
5b49cd81d8 HAVE_CPU_ZERO may not actually be defined.
This commit was SVN r8229.
2005-11-22 13:18:22 +00:00
Jeff Squyres
b2ad2a1619 Save some configure results in MCA read-only params for easier
debugging

This commit was SVN r8209.
2005-11-21 13:26:41 +00:00
Brian Barrett
20cea60b82 * fix "make distclean" error in PML
* turns out (duh!) that there was a reason that the <projectdir>dir
  variable was set in the AM conditional.  If not, stupid directories
  are created and not needed...  duh.

This commit was SVN r8205.
2005-11-20 07:41:09 +00:00
Brian Barrett
8faa1884f0 * The last of the build system optimizations. Combine the component and
component/base Makefile.am files, reducing the time configure spends
  stamping out Makefiles at the end
* Install base_impl.h file when devel-headers are being installed

This commit was SVN r8200.
2005-11-20 01:03:01 +00:00
Brian Barrett
1358781bd8 * remove unused condition variable files (everything is in condition.{h,c}
these days).  Always in SVN history if we want them back.

This commit was SVN r8199.
2005-11-20 00:49:37 +00:00
Brian Barrett
e5cb127830 * remove unused, unneeded header file
This commit was SVN r8198.
2005-11-20 00:28:50 +00:00
Brian Barrett
878676218e Rename opal/memory to opal/memoryhooks because XLC++ on Mac OS X is broken.
When compiling C++ code that includes something that looks for the C++
header file "memory" (stupid C++ headers not having .h extensions), it
goes through the header file search path, which includes $(topsrcdir)/opal,
so it finds the directory $(topsrcdir)/opal/memory/ and tries to load
that as the memory header file and all goes downhill.

This commit was SVN r8111.
2005-11-11 00:26:27 +00:00
Brian Barrett
d542e14120 * for some reason, some versions of linux didn't like that call to mmap. The
test isn't really needed to make sure the malloc intercept code was working,
  so just revert to not checking for now.  
  
  This should go to the 1.0 branch, as what is there now is causing issues.

This commit was SVN r8081.
2005-11-10 04:13:56 +00:00
Brian Barrett
5e6ab09424 apparently there are some platforms that do not like having munmap(NULL, 0)
called.  Instead, map and then munmap something.

This commit was SVN r8067.
2005-11-09 23:42:49 +00:00
Brian Barrett
05f8785e4f * OBJ_RELEASE is probably going to call free() in the way we're using it in
this function, and the lock will still be held, so we'd have deadlock.
  Instead, unlock, then release.  We don't need the lock for calling the
  release - we're not modifying any shared variables my that point.

  This should probbaly go onto the 1.0 branch, although it would be nearly
  impossible to trigger the deadlock with the way we use the free handlers
  at present.

This commit was SVN r8057.
2005-11-09 17:58:41 +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
4b35a11da8 * must use local labels for jumps instead of absolute labels so that bad things
don't happen when inlining the functions.

  This should go to the 1.0 branch

This commit was SVN r7921.
2005-10-28 15:52:09 +00:00
Brian Barrett
5ad49fac1f * when using gcc inline assembly, labels must be in the local number form or there
will be complaints about duplicate labels.  Fixes the rest of the compile issues
  in Opal on IRIX

This commit was SVN r7919.
2005-10-28 15:29:12 +00:00
Brian Barrett
d90a47c529 * remove typo in label name
This commit was SVN r7918.
2005-10-28 14:07:46 +00:00
Tim Woodall
c484185f19 loop over poll event entries if the total number is larger than supported
This commit was SVN r7898.
2005-10-27 17:12:42 +00:00
George Bosilca
0d4aaf6fa6 Provide the boool value as expected by the opal_show_help function.
This commit was SVN r7832.
2005-10-21 20:04:18 +00:00
Brian Barrett
bcebd1b6b7 Fix a couple of places where headers didn't get installed correctly when
--with-devel-headers is given to configure:
  * allocator, rcache, and mpool were putting things in the wrong place
  * timer wasn't installing the inline implementations at all

This commit was SVN r7805.
2005-10-18 20:12:55 +00:00
Brian Barrett
1af9a68956 * add configure-found libs to the AIX timer component's library dependencies
* add missing return statement from aix timer component open function

This should go to the 1.0 branch.

This commit was SVN r7803.
2005-10-18 20:07:50 +00:00
Jeff Squyres
e52448c10e Change an #if to #ifdef -- HAVE_BACKTRACE is created by
AC_CHECK_FUNCS, so #ifdef is the correct preprocessor conditional here
(because it will be defined or not -- not always defined to, say, 0 or
1).

This commit was SVN r7781.
2005-10-17 12:40:04 +00:00
Brian Barrett
1302cb4072 The next in a long line of crazed build system changes from Brian. This was
originally suggested by Ralf Wildenhues, to try to speed autogen, configure,
and make (and possibly even make install).  Use automake's include directive
to drastically reduce the number of Makefile files (although the number of
Makefile.am files is the same - most are just included in a top-level
Makefile.am).  Also use an Automake SUBDIRs feature to eliminate the
dynamic-mca tree, which was no longer really needed.  This makes adding
a framework easier (since you don't have to remember the dynamic-mca
tree) and makes building faster (as make doesn't have to recurse through
the dynamic-mca tree)

This commit was SVN r7777.
2005-10-17 00:21:10 +00:00
Jeff Squyres
9a25554559 Patch from Brooks Davis for some BSD compatibility issues.
This commit was SVN r7751.
2005-10-13 15:41:25 +00:00
Jeff Squyres
43b9b2c7da Allow mca-params.conf files to not have a \n at the end of the file
This commit was SVN r7741.
2005-10-12 22:49:23 +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
Jeff Squyres
3652d25800 Fix for pointer math -- ensure that we're interpreting by (char *),
not (unsigned long*).  Thanks to Paul Hargrove for catching this.

This commit was SVN r7685.
2005-10-11 12:19:05 +00:00
Brian Barrett
4d0154fe3a * make sure to ship missing header file
This needs to go to the 1.0 branch

This commit was SVN r7684.
2005-10-11 04:20:24 +00:00
Brian Barrett
1df9b160a9 * greatly simply the maffinity:libnuma configure macro - use the
OMPI_CHECK_PACKAGE macro instead of doing everything ourself.
  The old code was causing problems - it wouldn't add anything to
  WRAPPER_EXTRA_{LDFLAGS, LIBS} if libnuma was installed in /usr,
  so it didn't work so well.

  This should go to the 1.0 branch

This commit was SVN r7683.
2005-10-11 01:37:45 +00:00
Jeff Squyres
670a82e651 Mark this function as deprecated.
This commit was SVN r7665.
2005-10-07 22:27:27 +00:00
Andrew Friedley
b1af69dfe7 Don't check for errors on the paffinity stuff, as per Brian's request.
This commit was SVN r7640.
2005-10-05 18:08:06 +00:00
Andrew Friedley
37123ed430 Implement an opal_show_help() (like is done in ompi_mpi_init) for error handling in opal_init and both stages of orte_init.
Some of the functions in opal_init are void or return a bool (opal_output_init, but always returns true.. eh?), so I don't check them.

This commit was SVN r7638.
2005-10-05 13:56:35 +00:00
Jeff Squyres
3a225cf01a Clarify some documentation comments
This commit was SVN r7631.
2005-10-05 03:02:11 +00:00
Brian Barrett
11932e89d5 Fix nasty bug Josh was seeing where cntl-c wasn't working when orterun hangs up
in finalize after the first cntl-c is sent.

If the signal delete function was called while the signal set was blocked (which
is really most of the time in OMPI), the signal handler would be set to default
and the event library sigset modified, but the signal would never be unblocked.
Now we unblock the signal after reseting the handler...

This commit was SVN r7623.
2005-10-04 19:01:13 +00:00
Brian Barrett
8894eabf00 * some versions of malloc.h check to see if __malloc_attribute__ is defined, and
set it to empty if it isn't.  __malloc_attribute__ is set in sys/cdef.h, and
  some versions set it unconditionally.  If sys/cdef.h is included after malloc.h,
  some compilers will complain loudly.  So include malloc.h at the end so that
  sys/cdef.h is already included if it's going to be.

This commit was SVN r7613.
2005-10-04 14:42:32 +00:00
Brian Barrett
5700854398 * must distribute timer.h. sigh.
This commit was SVN r7609.
2005-10-04 13:04:44 +00:00
Brian Barrett
2117e4efbf * one more void* to function pointer casting cleanup. Stupid dlsym!
This commit was SVN r7556.
2005-09-30 14:54:28 +00:00
Jeff Squyres
fcef1774d5 Per advice from Ralf W., change the pkgdata declarations in
Makefile.am's to be a *slightly* more correct (and, more importantly,
less error-prone) construct.

This commit was SVN r7554.
2005-09-30 13:32:39 +00:00
Brian Barrett
e98a6d32d7 * fix compiler warning about void* -> function pointer casting. Stupid
compilers and return type of dlsym()

This commit was SVN r7552.
2005-09-30 05:15:27 +00:00
Brian Barrett
b808fb82c9 * fix compiler warning about void* -> function pointer casting. Stupid
compilers and return type of munmap....

This commit was SVN r7551.
2005-09-30 04:57:08 +00:00
Jeff Squyres
fa4f7a6261 Move assignment out of inner loop -- only needs to be done once, and
fixes a compiler warning (and potential bug)

This commit was SVN r7540.
2005-09-29 10:09:20 +00:00
Brian Barrett
f36642b73b * fix compile error. i should know better
This commit was SVN r7534.
2005-09-28 18:18:12 +00:00
Brian Barrett
ad62411a15 * fix deadlock in memory code that occurs if OBJ_NEW calls realloc to
expand it's class list array by pre-allocating the callback item before
  we obtain the lock (we free it if we ended up not needing it)

This commit was SVN r7533.
2005-09-28 16:40:19 +00:00
Brian Barrett
676e34c2d4 * play the linker games that need to be played to shut Darwin up
This commit was SVN r7527.
2005-09-28 01:24:05 +00:00
Jeff Squyres
26efa2c4cd Add a default prefix to stream 0 ("[hostname:pid]") to help identify
where output is coming from.  Threw in a few minor style fixes while I
was editing these files.

This commit was SVN r7522.
2005-09-27 19:27:26 +00:00
Jeff Squyres
31b2ec198b Fix problem identified by Ferris McCormick -- we were missing some
out-of-bounds protection for output ID's in some functions.  Also,
move some logic for closing the syslog inside a conditional block --
it's only necessary to close the syslog if we actually closed a
stream.

This commit was SVN r7518.
2005-09-27 16:43:48 +00:00
Jeff Squyres
5ffd95e971 Commit of the unified component selection system. This was mostly
in-place already (turns out that I was wrong in thinking that it
didn't work for static components), but the logic for excluding
components was not there.  This commit does a few things:

- Adds "exclude" logic, so that you can do:

  mpirun --mca btl ^mvapi,openib ...

  (note the "^" character -- I tried "!" but then you have to escape
  it in the shell, and that was icky) which will exclude both the
  mvapi and openib btl components (excluding one component means that
  you are excluding all components in the list; it doesn't make sense
  to include some and exclude others -- you're entire entirely
  including or entirely excluding)

- Simplifies the "include" logic, so the same old stuff like this
  still works:

  mpirun --mca btl tcp,self ...

  will only use the tcp and self btl components.

- Added more verbosity statements to make this selection process
  clear.

This commit was SVN r7509.
2005-09-26 21:55:32 +00:00
Brian Barrett
1d9b663b62 * test for condition where we think we can intercept malloc/free/munmap but
really can't.  Test for munmap, since it's the most likely to cause problems,
  since it's always an interposed symbol.

  The condition that usually causes problems is if libmpi was brought in as
  the result of a library dependency, rather than as a -l on the link line.
  The linker in this case will find malloc/free/munmap/etc. in libc, rather
  than in libmpi.

This commit was SVN r7508.
2005-09-26 20:20:20 +00:00
Jeff Squyres
f5ded6dd04 Don't link in libopal here because this component is *always* built
statically, and therefore is part of libopal.

This commit was SVN r7494.
2005-09-23 12:39:47 +00:00
Tim Woodall
5eec949138 fix my fix
This commit was SVN r7490.
2005-09-22 17:09:04 +00:00
Tim Woodall
5556337a8b workaround for deadlock
This commit was SVN r7489.
2005-09-22 17:03:30 +00:00
George Bosilca
46a5259a3f Missing a \ protection from the LIBS list.
This commit was SVN r7480.
2005-09-22 15:38:05 +00:00
Andrew Friedley
555ae37255 Add lib{opal,orte,mpi}.la to appropriate LIBADD's, some whitespace cleanup as well.
This commit was SVN r7477.
2005-09-22 12:28:54 +00:00
Ralph Castain
5686e8119e Move the error name macro to the errmgr framework. Add a second level of tracing. Remove an obsolete file.
This commit was SVN r7445.
2005-09-20 17:09:11 +00:00
Ralph Castain
bfef5928a1 Add a second trace option to pass an argument
This commit was SVN r7433.
2005-09-19 20:22:22 +00:00
George Bosilca
9da5fc2d65 It's already defined in the .h file.
This commit was SVN r7419.
2005-09-18 12:32:33 +00:00
Jeff Squyres
c1ed60be77 Fix problem of not sending appropriate flags to the wrapper
compilers. 

This commit was SVN r7416.
2005-09-17 10:44:20 +00:00
Brian Barrett
753b9a888e * fix compiler warning
This commit was SVN r7412.
2005-09-16 19:15:36 +00:00
Brian Barrett
b3cc58b681 * use rd instead of mov because for some odd reason GAS doesn't like
moving the tick register to another register, but is fine with rd.
* properly mask out the upper 32 bits of the register containing the
  lower 32 bits so that the or with the upper 32bits actually works
  properly.  Hopefully, gcc will optimize this into code that doesn't
  suck so much (it's much easier to deal with when you get to control
  the argument registers...)

This commit was SVN r7410.
2005-09-16 17:44:18 +00:00
Brian Barrett
93e28ebe74 * hack up rml_cnos to work with last round of orte changes
* updates to the red storm configure setup
* fix missing header if no timer components are found

This commit was SVN r7402.
2005-09-16 02:25:41 +00:00
Brian Barrett
a35c2e911d * make sure to dist timer.h
* have the real assembly for 64 bit mode (doh!)
* make sure to define type (remove debugging #if 0)

This commit was SVN r7401.
2005-09-15 22:26:07 +00:00
Jeff Squyres
15d0a95202 - Remove extra whitespace from Makefile.am's from when we removed
Makefile.options
- Sample in each of the three projects of how to link againt the
  relevant libraries so that when components are loaded into a parent
  process' space, we don't rely on the libopal/liborte/libmpi symbols
  being in the parent's public symbol namespace -- instead,
  dynamically link to the relevant libraries, allowing the dynamic
  linker to pull those libraries in at run-time, if needed

This commit was SVN r7397.
2005-09-15 20:56:18 +00:00
Jeff Squyres
46bed32fc6 While double-checking the order of SUBDIRS (ensuring dynamic-mca is
after "."), remove some whitespace left over from when we removed
Makefile.options.

This commit was SVN r7393.
2005-09-15 20:46:29 +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
Jeff Squyres
ef955b2f81 Could have sworn that I removed these long ago...
This commit was SVN r7331.
2005-09-12 23:28:47 +00:00
Jeff Squyres
eb5775cb6e - Expand error messages to be a bit more helpful
- Use the new MCA param API to register the parameters

This commit was SVN r7309.
2005-09-12 16:07:05 +00:00
Jeff Squyres
c4731285ee protect state var with the same #if that the rest of the code is
protected with

This commit was SVN r7292.
2005-09-10 11:17:01 +00:00
George Bosilca
a4c70dd4c3 The trace macro take one argument even if we do not intent to use it. Otherwise some compilers complain and generate errors.
This commit was SVN r7271.
2005-09-09 19:59:33 +00:00
Ralph Castain
76ccec0cee Upgrade the new opal trace system to utilize verbosity. Begin building the trace command into the ORTE system.
This commit was SVN r7267.
2005-09-09 18:27:17 +00:00
Jeff Squyres
0b255830e0 Slight change to the defaults -- make the prefix "output-pid<pid>-" so
that multiple processes don't overwrite each other.  Change that
default in orte_init_stage1() to just "output-" (because the file will
be in a process-unique directory at that point; the pid is no longer
necessary).

This commit was SVN r7256.
2005-09-09 12:37:39 +00:00
Jeff Squyres
86cca77046 Clarification on docs
This commit was SVN r7255.
2005-09-09 12:25:55 +00:00
Jeff Squyres
7eadfc4bdc Add a new hook function into the opal_output system:
opal_output_set_output_file_info().  This allows getting and setting
the default directory where output stream files will be opened (for
all *new* streams).  Before this function is not invoked, the default
location is $TMPDIR or $HOME (if $TMPDIR is not defined).  

Added a call into orte_init_stage1() to call this function
immediately after the session directory is created and set the default
location of stream files to be the process' session directory.

This commit was SVN r7254.
2005-09-09 12:18:39 +00:00
Jeff Squyres
4aa75fa739 - Make opal_output_stream_t be a real opal_object_t so that it can use
a constructor, like the rest of the code base
- Convert usage in the tree to use the constructor to zero out an
  instance of opal_output_stream_t
- Still need to re-enable output files

This commit was SVN r7253.
2005-09-09 10:46:54 +00:00
Jeff Squyres
eeee36aa73 Style changes only (this was originally written before many of the
style guidelines existed) so that the next patch concentrates on
fixes / functionality changes

This commit was SVN r7249.
2005-09-09 09:38:43 +00:00
Jeff Squyres
eb25be25be Add missing "\"
This commit was SVN r7232.
2005-09-08 10:02:21 +00:00
Ralph Castain
5d68fa836f Change the flag name to conform to prefix rules
This commit was SVN r7223.
2005-09-07 19:43:40 +00:00
Ralph Castain
2c6e47e38c Add a trace utility that provides info on progress through functions. This is not enabled yet - need Jeff or Brian to add it to the configure/build system.
This commit was SVN r7222.
2005-09-07 18:52:28 +00:00
Brian Barrett
ed56e743b7 * update configure.ac to use the modern version of AC_INIT and
AM_INIT_AUTOMAKE, instead of the deprecated version.
* Work around dumbness in modern AC_INIT that requires the version
  number to be set at autoconf time (instead of at configure time, as
  it was before).  Set the version number, minus the subversion r number,
  at autoconf time.  Override the internal variables to include the r
  number (if needed) at configure time.  Basically, the right thing
  should always happen.  The only place it might not is the version
  reported as part of configure --help will not have an r number.
* Since AM_INIT_AUTOMAKE taks a list of options, no need to specify
  them in all the Makefile.am files.
* Addes support for subdir-objects, meaning that object files are put
  in the directory containing source files, even if the Makefile.am is
  in another directory.  This should start making it feasible to
  reduce the number of Makefile.am files we have in the tree, which
  will greatly reduce the time to run autogen and configure.

This commit was SVN r7211.
2005-09-07 05:54:53 +00:00
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
Jeff Squyres
12e6a10197 Enable the paffinity framework during opal_init()
This commit was SVN r6903.
2005-08-16 16:15:53 +00:00
Jeff Squyres
a00e37f516 - Clarification of docs
- Minor fixes in the wrappers

This commit was SVN r6902.
2005-08-16 16:11:32 +00:00
Jeff Squyres
933fcfe4fd Make the function names obey the prefix rule (whoops)
This commit was SVN r6900.
2005-08-16 14:40:54 +00:00
Jeff Squyres
d9e68c1f36 - Fixes for linux paffinity component, to be able to correctly handle
all the different cases (curses to RedHat for continually changing
  the glibc API!)
- Minor fixes for the Solaris paffinity component

This commit was SVN r6894.
2005-08-16 00:11:41 +00:00
Jeff Squyres
0dd5b5514c Rename opal_constants.h -> constants.h
This commit was SVN r6889.
2005-08-15 18:55:37 +00:00
Jeff Squyres
2c7d5009cc Tiny fix (is it enough for Tim?) -- part of a larger set that will be
coming soon (probably tonight).

This commit was SVN r6885.
2005-08-15 16:24:09 +00:00
Jeff Squyres
dc66360faa This component is now open for business.
This commit was SVN r6884.
2005-08-15 15:36:07 +00:00
Jeff Squyres
aca78f9930 Arrgh -- missed this rename (threads.h)
This commit was SVN r6883.
2005-08-15 15:29:15 +00:00
Jeff Squyres
433d84af9f Add the implementation for the solaris processor affinity component.
This commit was SVN r6881.
2005-08-15 15:16:22 +00:00
Jeff Squyres
c465eb8567 Rename opal/threads/thread.h -> opal/threads/threads.h to avoid a
naming conflict with Solaris' <thread.h>

This commit was SVN r6879.
2005-08-15 11:02:01 +00:00
Jeff Squyres
b4ed6f29ab Add ERR_NOT_IMPLEMENTED
This commit was SVN r6878.
2005-08-15 10:39:30 +00:00
Jeff Squyres
2e114e1adb Rename MCA param to match rest of code.
This commit was SVN r6877.
2005-08-15 10:39:07 +00:00
Brian Barrett
3b9cc73d08 * updates to make Darwin malloc intercept code work properly in Open MPI
This commit was SVN r6873.
2005-08-14 17:24:57 +00:00
Brian Barrett
18bed00b9d * open / close the memory components
This commit was SVN r6872.
2005-08-14 17:23:34 +00:00
Brian Barrett
da89e06238 * update ptmalloc2 to build properly and intercept user-level calls to
munmap

This commit was SVN r6867.
2005-08-14 03:11:54 +00:00
Brian Barrett
22d28075eb * put component struct in it's own file. It requires the inclusion of
ompi_config.h, which can't be included in all the intercept code

This commit was SVN r6865.
2005-08-14 02:18:11 +00:00
Brian Barrett
8aca9ef966 * remove need to edit project/Makefile.am and project/{dynamic-,}mca/Makefile.am when adding a new component. Configure / autogen now do it for you.
* Add base to memory framework so that we can do something sane with
  ompi_info
* Updated ompi_info to print components for memory framework and
  show whether we have memory hooks active or not.

This commit was SVN r6861.
2005-08-13 20:19:24 +00:00
Jeff Squyres
0cbc8ea503 Add an missing header files instead of the top-level subdir for the
dist case.

This commit was SVN r6858.
2005-08-13 16:10:46 +00:00
Jeff Squyres
fe6f1bf069 Add forgotten header file
This commit was SVN r6856.
2005-08-13 15:46:27 +00:00
Jeff Squyres
323aff7b1e - First cut of a paffinity (processor affinity) framework in opal
- Simple components for getting and setting processor affinity of a
  process; does *not* include scheduling decisions
- No one in the OMPI code base invokes the framework yet
- Added linux component for using sched_setaffinity()
- Added shell solaris component that will use processor_bind()
  (currently .ompi_ignore'd)

This commit was SVN r6854.
2005-08-13 14:00:56 +00:00
Brian Barrett
1b830beddb * move over changes from the /tmp/bwb-memory-hooks/copy-1 into the trunk.
This includes updates to the malloc_hook method and making everything
  components.

This commit was SVN r6852.
2005-08-13 01:08:34 +00:00
Jeff Squyres
cf2c8b45a8 - Use proper prefixes for all #include statements (opal/, orte/, and
ompi/).
- There's still a handful of places that have orte/ #include files;
  still need to clean those up
- A lot of places still use ompi/include/constants.h -- those need to
  be converted over to use OPAL_ return codes and then switch to the
  opal constants.h.  This commit is the first few steps towards
  that...

This commit was SVN r6843.
2005-08-12 20:46:25 +00:00
Jeff Squyres
090712ebf9 Remove two useless files (they weren't even listed in their respective
Makefile.am's)

This commit was SVN r6841.
2005-08-12 20:30:25 +00:00
Jeff Squyres
b2225ea8f3 Arrgh -- stupid shell curses problems ended up naming that last commit
poorly.  :-(

This commit was SVN r6840.
2005-08-12 19:43:58 +00:00
Jeff Squyres
6095735046 Arrgh. Broke the tree with the last commit -- need to rename this to
avoid #include confusion.

This commit was SVN r6839.
2005-08-12 19:40:17 +00:00
Jeff Squyres
9947c71aa2 Starting to use this...
This commit was SVN r6836.
2005-08-12 18:54:09 +00:00
Brian Barrett
ad383f5fcd * If the event library is going to be a noop (really, this only happens on
Red Storm), don't bother doing all the book keeping work to do calls
  into the event library

This commit was SVN r6829.
2005-08-12 16:21:17 +00:00
Brian Barrett
57efade1e2 * bump the event_tick_rate count from 100 to 10k, per conversation with Tim.
Might want to bump this higher?
* remove assumption that progress functions registered with opal_progress
  are not reentrant.  There is still the assumption that the event loop
  is not reentrant (because it's not), so that part is still protected by
  a spinlock. 

This commit was SVN r6827.
2005-08-12 16:08:44 +00:00
Brian Barrett
070e376407 * don't build qsort workaround unless we actually have a broken qsort
This commit was SVN r6824.
2005-08-12 15:28:11 +00:00
Brian Barrett
a926a9b4fb * I'm sure any decent optimizing compiler would have figured this one out,
but there's no point in having the call_yield check performed if we
  don't have sched_yield to call in the first place.

This commit was SVN r6823.
2005-08-12 15:21:59 +00:00
Brian Barrett
aab684f159 * fix off by one error that was causing the event library to only be
triggered every other call to opal_progress when the TCP BTL/PTL
  were being used.

This commit was SVN r6822.
2005-08-12 15:20:37 +00:00
Brian Barrett
c8865bd5c1 * remove bool from internal interface, since we might not want to include
ompi_config.h in some of the intercept mechanisms.
* Intercept munmap when called directly by the user when we are using
  ptmalloc2 (previously we only covered when the user called free()).
* Don't go through the locking and list traversal logic trying to fire
  callbacks until there is actually a callback to fire.  This is both
  a performance boost and a way to cope with the hook callback being
  triggered before opal_init.

This commit was SVN r6818.
2005-08-12 13:35:01 +00:00
Brian Barrett
7b42267631 * need sys/types.h for size_t
This commit was SVN r6800.
2005-08-10 19:20:47 +00:00
Brian Barrett
63dc0dd1de * fix up sources list to fix make dist
This commit was SVN r6794.
2005-08-10 13:36:59 +00:00
Brian Barrett
e765294bc0 * forgot to add memory in SUBDIRS
* don't run callbacks before end of init or after start of finalize, since
  the list structures will be in an undefined state at those times.

This commit was SVN r6791.
2005-08-10 00:43:47 +00:00
Brian Barrett
f707ba2dd3 * Add memory dispatching code for OPAL. This allows anyone to register
callbacks to be triggered when memory is about to leave the current
  process.  The system is designed to allow a variety of interfaces,
  hopefully including whole-sale replacement of the memory manager,
  ld preload tricks, and hooks into the system memory manager.  Since
  some of these may or may not be available at runtime and we won't know
  until runtime, there is a query funtion to look for availability of
  such a setup.
* Added ptmalloc2 memory manager replacement code.  Not turned on by
  default, can be enabled with --with-memory-manager=ptmalloc2.
  Only tested on Linux, not even compiled elsewhere.  Do not use
  on OS X, or you will never see your process again.
* Added AM_CONDITIONAL for threads test to support ptmalloc2's build
  system

This commit was SVN r6790.
2005-08-09 22:40:42 +00:00
Brian Barrett
d2354faaa3 * remove makefile, soon to be makefile.am
This commit was SVN r6788.
2005-08-09 19:42:29 +00:00
Brian Barrett
2541f15880 copy ptmalloc2 release into the main branch
This commit was SVN r6787.
2005-08-09 19:39:39 +00:00
Brian Barrett
bd4a0c4ee0 * start memory manager code. Not activated yet, since configure changes
aren't included yet

This commit was SVN r6784.
2005-08-09 19:32:49 +00:00
Brian Barrett
eee5b649a7 * no need for semicolons at end of #defined macros. Duh. Fixes build error
in ob1 on non-debug builds with threads enabled

This commit was SVN r6777.
2005-08-09 14:24:30 +00:00
Jeff Squyres
7f726081ba Oops -- accidentally broke code that used the old API to override the
final MCA parameter name by passing NULL instead of the parameter that
was received.

This commit was SVN r6768.
2005-08-08 20:54:15 +00:00
Jeff Squyres
32e71e5c6c Fix a problem where orterun itself would not receive MCA parameters
that were set on the command line.  This was techinically exactly the
way the code was designed, but it certainly violated the Law of Least
Astonishment (even to its designer ;-) ).  So now if you execute
something like this:

   mpirun -mca pls_rsh_debug 1 -np 4 hello

You'll see debugging output from the rsh pls component, as you would
expect (this was not previously the case -- the MCA pls_rsh_debug
parame would be set to 1 in the 4 spawned hello processes, but *not*
in the orterun process).

More specifically, MCA parameters will be set in the orterun process
in the following cases:

- The new command line switch "--gmca" (or "-gmca") is used,
  indicating that the MCA parameter is "global".  --gmca also means
  that that MCA parameter will be applied to all context app's.  For
  example:

      mpirun -gmca foo bar -np 1 hello : -np 2 goodbye

  The foo MCA param will be set in both the hello and goodbye
  processes.

- If there is only one context app.  For example:

      mpirun -mca pls_rsh_debug 1 -np 4 hello

  will set pls_rsh_debug to 1 in both the orterun process and the 4
  spawned hello processes.

Also added a few more comments inside orterun to document a somewhat
confusing use of a state variable in a recursive case.

This commit was SVN r6764.
2005-08-08 16:42:28 +00:00
Brian Barrett
c39ba3e2da * re-enable poll_recalc so that it triggers the recalc of the signals
properly.  This fixes the random hangs that we were seeing this morning
  on Linux that were a result of fixing the thread deadlock yesterday.
  (worked great on my OS X box, which uses select() instead of poll()).

This commit was SVN r6730.
2005-08-04 14:05:46 +00:00
Jeff Squyres
49dfd6a527 Add doxy docs for a function that was missing them.
This commit was SVN r6728.
2005-08-03 21:14:40 +00:00
Jeff Squyres
ae7d85b6ca Fix a corner case -- if the MCA param had already been registered, be
sure to look it up if NULL != current_value.

This commit was SVN r6727.
2005-08-03 20:59:44 +00:00
Brian Barrett
124850d1c5 * fix deadlock in signal add code. Should not call the event_loop from
a function that has the lock.  Instead, recalculate the pending
  events directly.  Same effect, but less deadlock.

This commit was SVN r6720.
2005-08-03 14:10:55 +00:00
Brian Barrett
e84a02d79c Allow the C and C++ compilers to support different methods of inline
assembly (including case where one supports inline assembly and the
other doesn't).

This commit was SVN r6714.
2005-08-02 19:51:57 +00:00
Jeff Squyres
2e0b649362 Make the output of opal_cmd_line_get_usage_msg() show the options in a
defined / sorted order (makes it significantly easier to find options
in the --help messages).

This commit was SVN r6711.
2005-08-02 18:51:34 +00:00
Jeff Squyres
853d2fb980 Add spaces in the help message
This commit was SVN r6708.
2005-08-02 17:47:53 +00:00
Jeff Squyres
d827253e7f Better help string
This commit was SVN r6707.
2005-08-02 17:47:11 +00:00
Brian Barrett
24116a3935 * fix up a bunch of threading issues when progress and/or mpi threads
are enabled.  Mostly just ADD32 -> ADD_SIZE_T issues and naming of
  variables in THREAD_{LOCK,UNLOCK}

This commit was SVN r6706.
2005-08-02 17:36:01 +00:00
Brian Barrett
8f47bf194d * Workaround for the problems OS X 10.4 has with ioctl(..., SIOCGIFCONF, ...).
Suggested by Apple Engineering.

This commit was SVN r6703.
2005-08-02 15:14:41 +00:00
Jeff Squyres
4c1dd716c7 Change and add new features to the MCA parameter system:
- new preferred API calls for registering MCA parameters are
  mca_base_param_reg_{int|string} and
  mca_base_param_reg_{int|string}_name.
- See opal/mca/base/mca_base_param.h for docs on new calls.  
- Can now register and lookup a value at the same time.
- Can now mark a parameter "read only" at registration time
- Can now mark a parameter "internal" at registration time
- Can now associate a help message with the parameter at registration
  time; displayed in the ompi_info output.

The old API calls are still available for backwards compatibility
(mca_base_param_register_{int|string}.  They will eventually be
removed -- all developers are encouraged to use the new APIs from here
on out and replace any old calls with the new API.

Some params were also renamed -- the previous convention of using
"base_" as a prefix for any param that was not associated with a
component is henceforth deprecated.  Instead, use one of the following
prefixes:

mca: for anything in the MCA base itself
opal: for anything in OPAL
orte: for anything in ORTE
mpi: for anything in OMPI

This commit was SVN r6698.
2005-08-01 22:38:17 +00:00
Josh Hursey
0c32f34cb7 Let's clean up the block comment parsing to be a bit more lex-like.
This commit was SVN r6695.
2005-08-01 22:25:47 +00:00
Josh Hursey
50545ef082 Additional Comment possibilities supported for both hostfile and
mca param file.
------
/*
 * Block Quote
 */

// Line Quote

# Shell Style Line Quote
-------

This commit was SVN r6694.
2005-08-01 22:11:26 +00:00
Jeff Squyres
efd2372a7f Remove unused field
This commit was SVN r6685.
2005-07-29 14:44:06 +00:00
Josh Hursey
4959a2ca92 forgot to unlock mutex. Also allow parse to complete before returning an error, if warrented
This commit was SVN r6669.
2005-07-28 20:43:32 +00:00
Josh Hursey
86e8fba7f7 Return an error for long options as well as short if we are not
ignoring 'unknown options'

This commit was SVN r6664.
2005-07-28 19:45:44 +00:00
Brian Barrett
6aa464b67e More changes from Red Storm port
- only call sched_yield if it exists
  - don't fail out if modex doens't work in ob1
  - bunch of fixes for Portals BTL
  - add cnos rml component
  - add NULL gpr component (should only be used if replica AND proxy
    fail to load)  

This commit was SVN r6629.
2005-07-27 23:07:14 +00:00
Brian Barrett
5cd46a1681 * only clean up the if code during finalize if we have initialized.
otherwise, badness happens in the OBJ_* code.

This commit was SVN r6581.
2005-07-21 20:20:41 +00:00
Brian Barrett
14b89e0e50 Bunch more updates from operation Red Storm:
* Add ability to completely disable libltdl (the dlopen code to load
  dynamic shared objects) to configure: --disable-dlopen
* Added MCA param (component_disable_dlopen) to disable DSO loading
  at runtime
* Made the event library behave in some not-completely-erroneous way
  on platforms where it has absolutely no eventops support (ie, no
  select, poll, or epoll)
* Disabled orte_wait, opal_few, and opal_daemon_init code on
  platforms without fork, waitpid support.  All non-init functions
  will return OPMI_ERR_NOT_SUPPORTED
* Disable orteprobe tool when fork or pipe aren't supported

This commit was SVN r6490.
2005-07-14 18:05:30 +00:00
Brian Barrett
68b91e85ed * add checks for the hton and ntoh functions, since they don't exist on
Red Storm.  Add stub functions to ompi_config_bottom.h when they are
  around
* Add protection for a bunch of #include <netinet/in.h>s
* Fix up the Portals BTL so that it compiles on Red Storm and has the
  right mojo for initialization on Red Storm
* Add some important comments to ompi_check_package and mvapi configures
* Add support for platforms without getpwuid() (aka, Red Storm). 

This commit was SVN r6478.
2005-07-14 04:11:59 +00:00
Brian Barrett
2793bd6d76 * and fix a dumb typo from this morning
This commit was SVN r6457.
2005-07-13 13:35:21 +00:00
Brian Barrett
6371e26eab * fix some dumb mistakes in the if.c stubs committed last nigh
This commit was SVN r6456.
2005-07-13 13:20:22 +00:00
Brian Barrett
4d580fa706 * disable TCP ptl and oob components if there is no TCP support (look at
sockaddr_in - seems to be a good indicator)
* disable util/if code if no inet devices (again, no sockaddr_in)
* add enable/disable flag to disable stacktrace pretty-print code
  (defaults to enabled).  Seems there's something funky going on with
  the preprocessor on Red Storm that was causing problems - this was
  the easiest fix
* clean up a bunch of the configure.m4 files to remove bogus comments,
   properly comment them, fix the dumb logic for happy/unhappy
* Create a macro for testing both header and library for a package, 
  since we seem to do this kind of test quite often.  Handles the
  -I and -L search paths properly (including stripping out /usr and
  /usr/local if not needed)
* Converted mvapi components to configure.m4, using the nice new
  ompi_check_package macro (above)

This commit was SVN r6454.
2005-07-13 04:16:03 +00:00
Josh Hursey
048d5c1415 Added some userlevel error checking, and messaging.
This commit was SVN r6440.
2005-07-12 18:06:31 +00:00
George Bosilca
3f466e2915 Small change with large benefits. Until now, in DEBUG mode we keep trace of the file and line number where
an object has been created. I slightly change this behaviour. Now, during the life time of an object (when
the reference count is > 0) we keep the place where the object was created and just before freeing the object
we set the location where the object get destroyed. So when we try to release an already destroyed object
we have the location where it happens (where the object get destroyed for the first time).

This commit was SVN r6428.
2005-07-12 05:26:37 +00:00
Brian Barrett
170ef8af1f * rename ompi_show_help to opal_show_help
* rename ompi_stacktrace to opal_stacktrace
* rename ompi_strncpy to opal_strncpy

This commit was SVN r6336.
2005-07-04 02:38:44 +00:00
Brian Barrett
ed81e51c3a * rename ompi_printf to opal_printf
* rename ompi pty code to opal pty code
* rename ompi_qsort to opal_qsort

This commit was SVN r6335.
2005-07-04 02:16:57 +00:00
Brian Barrett
46245aaac1 * rename orte_os_create_dirpath to opal_os_create_dirpath
* rename orte_os_path to opal_os_path
* rename ompi_path_find to opal_path_find
* rename ompi_pow2 to opal_pow2

This commit was SVN r6334.
2005-07-04 01:59:52 +00:00
Brian Barrett
4d4908f011 * finish ompi_environ -> opal_environ rename
This commit was SVN r6333.
2005-07-04 01:39:08 +00:00
Brian Barrett
e55f99d23a * rename ompi_if to opal_if
* rename ompi_malloc to opal_malloc
* rename ompi_numtostr to opal_numtostr
* start of rename of ompi_environ to opal_environ

This commit was SVN r6332.
2005-07-04 01:36:20 +00:00
Brian Barrett
e8afe9d9ef * fix some remaining ompi references
This commit was SVN r6331.
2005-07-04 00:16:24 +00:00
Brian Barrett
9f44b80291 * rename ompi_argv to opal_argv
* rename ompi_basename to opal_basename
* rename ompi bitop functions to opal
* rename ompi_cmd_line to opal_cmd_line
* rename ompi_sizet2int to opal_sizet2int
* rename orte_daemon_init to opal_daemon_init
* rename ompi_few to opal_few

This commit was SVN r6330.
2005-07-04 00:13:44 +00:00
Brian Barrett
a13166b500 * rename ompi_output to opal_output
This commit was SVN r6329.
2005-07-03 23:31:27 +00:00
Brian Barrett
23b687b0f4 * rename ompi_event to opal_event
This commit was SVN r6328.
2005-07-03 23:09:55 +00:00
Brian Barrett
39dbeeedfb * rename locking code from ompi to opal
This commit was SVN r6327.
2005-07-03 22:45:48 +00:00
Brian Barrett
ccd2624e3f * rename ompi_progress to opal_progress
This commit was SVN r6326.
2005-07-03 21:57:43 +00:00
Brian Barrett
9da0b4fe1d * rename all the atomic functions from ompi to opal
This commit was SVN r6325.
2005-07-03 21:38:51 +00:00
Brian Barrett
9f0c969bb4 * rename ompi_hash_table opal_hash_table
This commit was SVN r6324.
2005-07-03 16:52:32 +00:00
Brian Barrett
764a9314db * rename ompi_value_array opal_value_array
This commit was SVN r6323.
2005-07-03 16:38:52 +00:00
Brian Barrett
761402f95f * rename ompi_list to opal_list
This commit was SVN r6322.
2005-07-03 16:22:16 +00:00
Brian Barrett
499e4de1e7 * rename ompi_object and ompi_class to opal_object and opal_class
This commit was SVN r6321.
2005-07-03 16:06:07 +00:00
Brian Barrett
e86ab57d84 * initialize array (fixes random segfault in show_help)
This commit was SVN r6316.
2005-07-03 04:11:47 +00:00
Brian Barrett
5a5fb88489 * it compiles! ompi_info works!
This commit was SVN r6312.
2005-07-03 01:01:55 +00:00
Brian Barrett
8cad33db40 * finish modex move
* fix protection in opal_free_list.h
* Fix some makefiles

This commit was SVN r6311.
2005-07-03 00:52:18 +00:00
Brian Barrett
8077da277b * move ompi_rb_tree from opal to ompi since it's only used in ompi, and should
have the ompi_free_list instead of the opal_free_list
* Change orte to use opal_free_list instead of ompi_free_list

This commit was SVN r6307.
2005-07-02 16:46:27 +00:00
Jeff Squyres
335307b9a5 Port over latest fixes from beta branch
This commit was SVN r6303.
2005-07-02 16:02:35 +00:00
Jeff Squyres
f9fcb77f63 Fixups for pointer_array->argv changes
This commit was SVN r6302.
2005-07-02 16:02:26 +00:00
Brian Barrett
76035790ee * fix some more makefiles
This commit was SVN r6301.
2005-07-02 16:00:15 +00:00
Jeff Squyres
5691aa5c93 Fix up -- no need modex here, but now need mca/mca.h
This commit was SVN r6300.
2005-07-02 15:56:45 +00:00
Brian Barrett
b77505d61c * remove unneeded pml.h in ompi_progress
* fix Makefile.am

This commit was SVN r6299.
2005-07-02 15:54:41 +00:00
Brian Barrett
73f05ce012 * remove last of ompi_free_list / mpool refs
This commit was SVN r6298.
2005-07-02 15:51:22 +00:00
Jeff Squyres
d245788f67 Remove dynamic-mca from Makefile.am
This commit was SVN r6297.
2005-07-02 15:46:01 +00:00
Brian Barrett
957ac4fe3d * change ompi -> opal and remove the mpool code
This commit was SVN r6295.
2005-07-02 15:42:29 +00:00
Jeff Squyres
aa280da712 Forgot to move dynamic-mca/allocator and mpool over to ompi. opal now
no longer has any need for dynamic-mca

This commit was SVN r6293.
2005-07-02 15:38:36 +00:00
Jeff Squyres
959a08bf42 Compromise:
- move mpool and allocator frameworks back to ompi (from opal)
- specialize the ompi_free_list class to use an mpool instance
- un-specialize opal_free_list to *not* use mpool; just use malloc/free

This commit was SVN r6292.
2005-07-02 15:35:34 +00:00
Jeff Squyres
bf318e394c Move some OMPI-specific classes from opal->ompi
This commit was SVN r6288.
2005-07-02 15:21:32 +00:00
Brian Barrett
a4468e60c2 * change src/ to opal/ in asm paths
This commit was SVN r6285.
2005-07-02 14:57:46 +00:00
Jeff Squyres
fe76370cd3 While we're here, re-indent properly. :D
This commit was SVN r6283.
2005-07-02 14:41:58 +00:00
Jeff Squyres
ff41c82259 Remove ORTE-specific call
This commit was SVN r6282.
2005-07-02 14:41:22 +00:00
Jeff Squyres
da465b38e2 Fix typo
This commit was SVN r6279.
2005-07-02 14:35:30 +00:00
Brian Barrett
0c16b5419e * first cut at autogen.sh / configure for new directory structure
* fix some broken makefile.ams

This commit was SVN r6277.
2005-07-02 14:29:45 +00:00
Jeff Squyres
e10a181120 Fix typo
This commit was SVN r6276.
2005-07-02 14:24:55 +00:00
Jeff Squyres
5ad98c7b32 First cut at converting show_help to ompi_argv.h
(vs. ompi_pointer_array.h)

This commit was SVN r6275.
2005-07-02 14:19:49 +00:00
Jeff Squyres
d865e68e20 First cut at Makefile.am changes
This commit was SVN r6272.
2005-07-02 14:08:19 +00:00
Jeff Squyres
d05658f705 Add opal/Makefile
This commit was SVN r6271.
2005-07-02 13:53:01 +00:00
Jeff Squyres
05d7543b4e Move a small number of specialized classes back to ompi
This commit was SVN r6270.
2005-07-02 13:44:20 +00:00
Jeff Squyres
cd497636ac Move modex out of opal MCA base into orte/util
This commit was SVN r6268.
2005-07-02 13:43:30 +00:00
Jeff Squyres
3a9179a0d7 Initial population of the opal tree
This commit was SVN r6267.
2005-07-02 13:43:20 +00:00