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

644 Коммитов

Автор SHA1 Сообщение Дата
George Bosilca
6ef0acf99f The names of the defines should start with OPAL as they belong to the
OPAL layer.
We now support 64 bits Windows too.

This commit was SVN r11312.
2006-08-21 21:55:41 +00:00
George Bosilca
3f37470fec - Start the big windows commit. First cleanup the way we build PATH and
environment variables. 
- The HOME on Windows is called USERPROFILE.
- C++ compilers (at least on Windows) require explicit casts. Even going
through a void* does not help.
- Cleanup the Windows file name management.
- Always use opal_os_path to create OS friendly paths.

This commit was SVN r11311.
2006-08-21 21:44:48 +00:00
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