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

740 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
b34042a887 Changes to the information printed when a signal occurs:
* Have darwin backtrace code return an error when buffer() is
    called, since it is not imnplemented
  * Print out hostname & pid when giving signal information
  * If backtrace_buffer() is implemented, use that instead of
    backtrace_print() and prefix stacktrace with the hostname
  * Make the signal information printed be more user friendly
  * If we're using the backtrace_buffer() code, don't print 
    the last two functions (which will be show_stackframe()
    then backtrace_buffer()) so that users won't keep thinking
    the error occurred inside Open MPI (sneaky, yes...)

Refs trac:538

This commit was SVN r12883.

The following Trac tickets were found above:
  Ticket 538 --> https://svn.open-mpi.org/trac/ompi/ticket/538
2006-12-17 19:14:13 +00:00
Brian Barrett
f1fdd7c041 Handle case where remote process is of different architecture than the local
process when creating a datatype from an internal description.

Refs trac:640

This commit was SVN r12877.

The following Trac tickets were found above:
  Ticket 640 --> https://svn.open-mpi.org/trac/ompi/ticket/640
2006-12-17 04:39:16 +00:00
Rolf vandeVaart
c51c36c4a2 These changes fix two issues.
1. For OS's without the dirent.d_type field, we were potentially
not initializing a filename string.  This could result in a 
directory not being cleaned up.
2. Potential memory leaks in filename strings that were allocated.

Refs trac:678

This commit was SVN r12853.

The following Trac tickets were found above:
  Ticket 678 --> https://svn.open-mpi.org/trac/ompi/ticket/678
2006-12-14 18:27:27 +00:00
Brian Barrett
6f8b366acb Rename liborte to libopen-rte and libopal to libopen-pal per telecon today
and bug #632.

Refs trac:632

This commit was SVN r12762.

The following Trac tickets were found above:
  Ticket 632 --> https://svn.open-mpi.org/trac/ompi/ticket/632
2006-12-05 18:27:24 +00:00
Rainer Keller
e61dd8722e - Silence compiler on ORTE_TRANSPORT_KEY_FMT, it is fixed to llx
- No functional changes, just indentation and corrections to error
   output.

This commit was SVN r12734.
2006-12-03 13:59:23 +00:00
Rainer Keller
20d5c35f43 - Add header needed for OPAL_OUTPUT.
This commit was SVN r12647.
2006-11-22 12:20:08 +00:00
Brian Barrett
33320b7165 Rework the opal_progress interface to better support dynamic processes and at
the same time, remove some of the MPI-related options from OPAL:

  - provide mechanism to change at runtime whether sched_yield() should 
    be called when the progress engine is idle
  - provide mechanism for changing the rate at which the event engine
    is called when there are "no" users of the event engine (ie, when
    using MPI but not TCP)
  - fix some function names in the progress engine to better match
    their intended use (and remove MPI naming scheme)
  - remove progress_mpi_enable / progress_mpi_disable because 
    we can now use the functions to set the sched_yield and
    tick rate interfaces
  - rename opal_progress_events() to opal_progress_set_event_flag()
    because the first really isn't descriptive of what the function
    does and I always got confused by it

This commit was SVN r12645.
2006-11-22 02:06:52 +00:00
George Bosilca
3ecdb1678e Rollback the opal_object commit. Except on my initial test environment it
do not produce anything usefull.

This commit was SVN r12487.
2006-11-08 07:10:16 +00:00
George Bosilca
ad5d5b95c8 Help the compiler to understand what we're doing here. It generate less
memory accesses at least with gcc.

This commit was SVN r12483.
2006-11-08 05:08:11 +00:00
Jeff Squyres
3e2d375543 Use () to avoid a signed/unsigned comparsion compiler warning
This commit was SVN r12424.
2006-11-03 17:26:11 +00:00
Brian Barrett
c4c536511f Run configure check for the registers in the thread state to decide
whether they are prefixed with a double underscore or not.
__DARWIN_UNIX03 is defined on Tiger when compiling PPC 64 code, so
we can't use that.

Refs trac:575

This commit was SVN r12418.

The following Trac tickets were found above:
  Ticket 575 --> https://svn.open-mpi.org/trac/ompi/ticket/575
2006-11-03 05:34:23 +00:00
Jeff Squyres
f4e81176fe Remove unused variable
This commit was SVN r12408.
2006-11-02 13:52:12 +00:00
Rainer Keller
f9083f2e29 - Get rid of warnings w/ regard to bool on nec-compiler,
when using malloc_hooks as memory-mca.

This commit was SVN r12407.
2006-11-02 12:23:19 +00:00
Rainer Keller
1ba8f82cfd - Move the help-string to the configure, where it belongs.
This commit was SVN r12406.
2006-11-02 11:20:05 +00:00
Brian Barrett
dec51d7cf7 When Apple converted to UNIX03 support (part of the feature list of 10.5), they
renamed the register fields in the thread state structures.  Support compiling
with either the old or new names, keying off the UNIX03 define (which is what
the 10.5 headers do).

Refs trac:450

This commit was SVN r12285.

The following Trac tickets were found above:
  Ticket 450 --> https://svn.open-mpi.org/trac/ompi/ticket/450
2006-10-24 18:30:09 +00:00
Jeff Squyres
7b6536e912 * Add a check for whether we're operating on environ; if so, don't
free anything.
 * Fix a small memory leak.

This commit was SVN r12245.
2006-10-21 13:46:04 +00:00
Brian Barrett
37fad860b7 Grrr... Forgot that EXTRA_DIST and man_MANS are not set to include all the
possible things contained in the conditional like other rules are (for
example, a SOURCES rule in a conditional automatically has its files
added to the dist rules, even if that conditional isn't tru when
make dist occurs).  So the man files weren't in the tarball.

Put the EXTRA_DIST with the files explicitly listed outside any conditionals
so the man pages always end up in the tarball.

This commit was SVN r12220.
2006-10-20 14:15:38 +00:00
Tim Prins
7ec3287d3d Need a rule to make opal_wrapper.1
This commit was SVN r12217.
2006-10-20 12:04:59 +00:00
George Bosilca
10a79f4822 We always have to include the <PROJECT>_config.h as first include.
This commit was SVN r12216.
2006-10-20 07:01:52 +00:00
Brian Barrett
4dad3ef3ef Follow on to r12146. For platforms that dont' have a ptrdiff_t definition,
provide one for the internals of Open MPI.  For mpi.h, typedef MPI_Aint
either to ptrdiff_t or whatever we used as ptrdiff_t if that type doesn't
actually exist.

This commit was SVN r12212.

The following SVN revision numbers were found above:
  r12146 --> open-mpi/ompi@8852c00c36
2006-10-20 03:24:59 +00:00
George Bosilca
b0a03fae4d Let the wrapper compiler complain when it does not find one of the
configuration file.

This commit was SVN r12209.
2006-10-20 02:29:48 +00:00
George Bosilca
66eb007b22 New version of the Windows compatibility file.
This commit was SVN r12208.
2006-10-20 02:28:41 +00:00
Brian Barrett
204f5b8f52 - Clean up wrapper compiler man pages during maintainer-clean, since
they might require special tools (not sure if sed with multiple -e
    arguments is totally portable)
  - ignore the opalcc.1 man page.  Couldn't do this in the previous
    man page commit (r12192) because I was removing opalcc.1 in that
    commit.

This commit was SVN r12194.

The following SVN revision numbers were found above:
  r12192 --> open-mpi/ompi@581a4b0a4e
2006-10-19 20:14:40 +00:00
Brian Barrett
581a4b0a4e A few cleanups to the wrapper compiler build system / man pages:
- Only install opal{cc,c++} and orte{cc,c++} if configured with
     --with-devel-headers.  Right now, they are always installed, but 
    there are no header files installed for either project, so there's
    really not much way for a user to actually compile an OPAL / ORTE
    application.

  - Drop support for opalCC and orteCC.  It's a pain to setup all the 
    symlinks (indeed, they are currently done wrong for opalCC) and 
    there's no history like there is for mpiCC.

  - Change what is currently opalcc.1 to opal_wrapper.1 and add some
    macros that get sed'ed so that the man pages appear to be 
    customized for the given command.  

  - Install the wrapper data files even if we compiled with 
    --disable-binaries.  This is for the use case of doing multi-lib
    builds, where one word size will only have the library built, but 
    we need both set of wrapper data files to piece together to 
    activate the multi-lib support in the wrapper compilers.

This commit was SVN r12192.
2006-10-19 18:34:17 +00:00
Rainer Keller
528329c30f - Have two separate versions of OBJ_RETAIN and OBJ_RELEASE to
get readable preprocessed output.

This commit was SVN r12162.
2006-10-18 08:24:38 +00:00
George Bosilca
b95a4fbaaa Bad boys, bad boys whatcha want ...
This commit was SVN r12155.
2006-10-17 22:06:51 +00:00
George Bosilca
8852c00c36 Look like a big commit but in fact it address only one issue. The way we're working with
size and diplacement of data-type. After this patch all data can contain size_t bytes
and the displacements are defined as ptrdiff_t. All of the files I was able to compile
have been modified to match this requirement.

This commit was SVN r12146.
2006-10-17 20:20:58 +00:00
Brian Barrett
9adde4f7b8 Allow multilib capability based on compiler flags. See:
https://svn.open-mpi.org/trac/ompi/wiki/compilerwrapper3264
for more information.

Refs trac:374

This commit was SVN r12120.

The following Trac tickets were found above:
  Ticket 374 --> https://svn.open-mpi.org/trac/ompi/ticket/374
2006-10-15 21:21:08 +00:00
Brian Barrett
7dc9995955 Use write() instead of fprintf() for output to stdout / stderr. Fixes an issue
I was running into where if a string in the argument list contains a printf
escape sequence, we would segfault.  In particular, I was using opal_output
to print the environment and had something like:

  LESSOPEN=|/usr/bin/lesspipe.sh %s

in my environment.  So I called opal_output(0, "%s", environ[i]) and
got a segfault because the fprintf tried to expand the %s in the
environment variable

This commit was SVN r12094.
2006-10-11 18:40:21 +00:00
George Bosilca
413e54638d The usual cast problem on Windows.
This commit was SVN r12008.
2006-10-05 05:43:46 +00:00
George Bosilca
5885696079 Activate the "secure" version of srand ...
This commit was SVN r12007.
2006-10-05 05:43:16 +00:00
George Bosilca
59275a0958 Protect against C++ compiler and add the OPAL_DECLSPEC to the
places where it is required.

This commit was SVN r11995.
2006-10-05 05:16:07 +00:00
George Bosilca
3945c50982 The real fix for the C++ headers. Defining these compatibility function
will keep the compiler happy in both [C or C++] mode.

This commit was SVN r11994.
2006-10-05 05:14:32 +00:00
George Bosilca
3997b404bf It's supposed to be a float ...
This commit was SVN r11993.
2006-10-05 05:12:57 +00:00
Brian Barrett
7c973dd394 Need to make opalcc symlink in both the case sensitive and case insensitive
intall-exec-hook cases.  This was accidently removed in r11773.

This commit was SVN r11954.

The following SVN revision numbers were found above:
  r11773 --> open-mpi/ompi@c5cc1f0c1a
2006-10-03 17:01:54 +00:00
Brian Barrett
13b25a732a Fixes for localhost check. Should really use ntohl instead of htonl, as
the data is in network byte order and we want it in host byte order so
we can modify it.  The big issue, though, is that 127 is 0x7F, not 0x74,
so there was the possibility of false positives with this test...

This commit was SVN r11919.
2006-10-01 16:59:44 +00:00
George Bosilca
375f93eb8a Similar problem for the LIB.
This commit was SVN r11917.
2006-09-30 20:24:07 +00:00
George Bosilca
825af18598 All the OPAL_ defines from the install_dirs.h contain ABSOLUTE path. Therefore,
there is no need to prepend OPAL_PREFIX to them.

This commit was SVN r11916.
2006-09-30 20:22:30 +00:00
Dan Lacher
ba0389723e Ticket: #346
remove requirements on .la files on wrapper scripts

Ticket: #374
  extend compilers to support 32 bit and 64 bit in one version of the wrapper

Submitted by: Dan Lacher
Reviewed by: Rolf Vandevaart

This commit was SVN r11908.
2006-09-29 23:58:58 +00:00
Jeff Squyres
785a2e1c90 Move the man page installs to install-data-hook. Putting them in
install-exec-hook is not only wrong, it can cause ordering issues such
as trying to put sym links to man pages in directories that do not yet
exist.

This commit was SVN r11893.
2006-09-29 14:34:39 +00:00
Brian Barrett
a556d9daa6 remove unneeded footer
This commit was SVN r11834.
2006-09-26 20:30:49 +00:00
Jeff Squyres
38e3e8161c Add some more docs for clarification for MCA param names.
This commit was SVN r11832.
2006-09-26 19:37:44 +00:00
Brian Barrett
bc51e44f0d * need to distribute alpha code as well...
This commit was SVN r11831.
2006-09-26 19:29:46 +00:00
Brian Barrett
d00a0de716 * It appears that in their infinite wisdom, Apple removed the
__DARWIN_ALIGN_POWER define from the last release of the OS X compiler
    toolchain.  The bug in net/if.h, however, is still there.  So look
    for the hints that we're on a 64 bit Apple PowerPC instead.
  * If we don't find a buffer size that works by 10MB, we're never
    going to.  So add some code to limit the buffer size we'll try
    so that we don't fall into an infinite loop
  * Detect errors in opal_ifcount in the oob init code

Refs trac:420

This commit was SVN r11825.

The following Trac tickets were found above:
  Ticket 420 --> https://svn.open-mpi.org/trac/ompi/ticket/420
2006-09-26 16:37:04 +00:00
Jeff Squyres
b356fa22c9 Fix "make dist" problems from last night. Had a disparity between
opal and orte/ompi man pages -- no need to make local copies of the
man page int he opal tree; just [un]install sym links in the mandir,
like orte/ompi.

This commit was SVN r11820.
2006-09-26 13:26:50 +00:00
Brian Barrett
9111f74627 More escaping fixes in the build system. Anything in the Makefile needs to
have $ escaped to $$.  Also, remove one more place for the shell to
expand those $s in the format string.

This commit was SVN r11809.
2006-09-26 02:37:35 +00:00
Brian Barrett
75db1a9ee2 Don't let the shell expand out the format string, as it might have a $ in
it (the LSYM is $ on Alpha)

Refs trac:380

This commit was SVN r11808.

The following Trac tickets were found above:
  Ticket 380 --> https://svn.open-mpi.org/trac/ompi/ticket/380
2006-09-26 00:48:48 +00:00
Brian Barrett
778bba2668 refs trac:405
* Make sure to AC_SUBST the backtrace CFLAGS so that the right flags
    are passed to the component (especially -m64)
  * Properly open / close the component.  This isn't strictly necessary
    to fix the bug, but was an oversight that should be fixed.

This commit was SVN r11806.

The following Trac tickets were found above:
  Ticket 405 --> https://svn.open-mpi.org/trac/ompi/ticket/405
2006-09-25 23:41:06 +00:00
Brian Barrett
77ceee3bf2 * Fix cmpset_32 / 64 so that ret always returns the right value and
there is an exit path out of the loop
  * Reformat assembly to match other platforms
  * Update base file for non-inline assembly to match changes in
    the inline version

This commit was SVN r11803.
2006-09-25 22:17:04 +00:00
Brian Barrett
fa0ae7aa52 len is assigned during the big for loop() in this function, so assuming
the initialization in the start of the function is going to remain for
the life of the function is erroneous.  Need to initialize before
using in the snprintf() call.

Refs trac:340

This commit was SVN r11781.

The following Trac tickets were found above:
  Ticket 340 --> https://svn.open-mpi.org/trac/ompi/ticket/340
2006-09-25 15:34:50 +00:00
Jeff Squyres
c5cc1f0c1a Add man page for wrapper compilers.
Fixes trac:358.

This commit was SVN r11773.

The following Trac tickets were found above:
  Ticket 358 --> https://svn.open-mpi.org/trac/ompi/ticket/358
2006-09-25 14:11:21 +00:00
Brian Barrett
18994324ce OpenBSD doesn't define some constants that other OSes do.
refs trac:393

This commit was SVN r11770.

The following Trac tickets were found above:
  Ticket 393 --> https://svn.open-mpi.org/trac/ompi/ticket/393
2006-09-24 18:20:55 +00:00
Brian Barrett
52004417be * fix dumb typo. Clearly shouldn't work late at night...
This commit was SVN r11767.
2006-09-23 14:51:12 +00:00
Brian Barrett
f4b602baa9 turn off debugging that shouldn't have been committed
This commit was SVN r11765.
2006-09-23 03:25:18 +00:00
Brian Barrett
ad48aa82e9 A number of changes for improved Alpha support:
* Use $31 instead of mnemonic zero for the gcc inline
    assembly test, as the GNU assembler doesn't like
    zero, but both Tru64 and GNU assembler should be fine
    with $31
  * Disable Linux timer component on Alpha.  The CPU timer
    rolls over every 10 seconds or less, so it's kinda
    worthless for our needs.
  * Fix some escaping issues when local functions are
    denoted with a $
  * Remove C++ comments from the Alpha assembly.
  * Add base assembly code for the non-inlined functions
    on Alpha

This commit was SVN r11764.
2006-09-23 03:23:57 +00:00
Brian Barrett
b4480cf182 * Need to unlock on error conditions in opal_event_base_loop()
* Fix if structure if we don't use signals

Rainer Keller submitted original patch, slightly cleaned up by me.

This commit was SVN r11758.
2006-09-22 16:08:58 +00:00
Ralph Castain
37dfdb76eb Here is the major MAD-cure commit. I have written plenty about it, so I refer you here to those messages for a description of everything that was done.
This commit was SVN r11661.
2006-09-14 21:29:51 +00:00
Jeff Squyres
c9d244a298 Rename some OMPI_* macros to be OPAL_* macros.
This commit was SVN r11598.
2006-09-08 23:42:32 +00:00
Jeff Squyres
c068bc155a First steps towards IPv6 support. Mainly to support the guys working
on it, even though there's no other IPv6 code in the tree yet.

This commit was SVN r11561.
2006-09-08 00:10:40 +00:00
George Bosilca
e33c35112b Correct the conversion between int and bool. Apply it on all files except
the one that will be modified by Ralph for the ORTE 2.0. The missing ones
are in the rsh PLS.

This commit was SVN r11476.
2006-08-28 18:59:16 +00:00
Jeff Squyres
9e2488bfe9 George found a great way to avoid warnings from flex for that unused
function.  Woo hoo!

This commit was SVN r11469.
2006-08-28 13:44:37 +00:00
George Bosilca
07b8d3c72c On Windows we can now deliver Open MPI on several flavors:
- everything statically built (dynamically opened).
- OPAL, ORTE and OMPI static libraries and all the components
  as dynamic files(DLL).
- everything as dynamic files (DLL).

This commit was SVN r11461.
2006-08-28 04:19:42 +00:00
George Bosilca
adbe0cf2aa Remove the double definition of opal_output_stream_t_class.
This commit was SVN r11455.
2006-08-28 04:04:12 +00:00
George Bosilca
e58b611512 dirname have a different behavior depending on the operating system.
opal_dirname have the same behavior all the time. It does not modify
the original string and it returns a freshly allocated string.

This commit was SVN r11443.
2006-08-27 05:09:40 +00:00
George Bosilca
a33f63da26 On Windows use the high performance timers ... differently or lose
data in the conversion.

This commit was SVN r11441.
2006-08-27 04:56:20 +00:00
George Bosilca
0e317286f3 Did it say miliseconds ?
This commit was SVN r11440.
2006-08-27 04:53:52 +00:00
George Bosilca
ba0e6a48b4 autoconf 2.60 correctly run C++ code on Windows. Therefore we
don't need these 2 defines as configure will detect them automagically.

This commit was SVN r11431.
2006-08-25 23:25:43 +00:00
George Bosilca
c03b9ce679 One typo and one UNIX conversion of EOL.
This commit was SVN r11430.
2006-08-25 23:22:35 +00:00
George Bosilca
522cae342b Don't keep a special case for Windows as it's wrong. The problem is that
the BOOL type predefined on Windows in C does not match the C++ bool type
for the same compiler. One is an int when the other is a char.
Make sure we check for bool for all non C++ compilers.

This commit was SVN r11429.
2006-08-25 23:16:49 +00:00
Brian Barrett
f3a4026b39 * fix the comment, too
This commit was SVN r11392.
2006-08-24 14:06:01 +00:00
Brian Barrett
9e5f5fe0af * make the name of the define be correct...
This commit was SVN r11391.
2006-08-24 14:02:26 +00:00
Brian Barrett
b56c8c3a66 * Default the value of opal_uses_threads (which is used by the macro
versions of the thread lock functions to determine at runtime if a lock
  is needed) to OMPI_ENABLE_PROGRESS_THREADS instead of 
  OMPI_HAVE_THREAD_SUPPORT.  Opal only starts a thread when
  OMPI_ENABLE_PROGRESS_THREADS is enabled, and ORTE never really starts
  a thread that requires special locking considerations.

  MPI_INIT would set opal_uses_threads to true if thread level was 
  greater than MPI_THREAD_SINGLE, but it would never decreast the
  value of opal_uses_threads, meaning that we always enabled all that
  locking if we did a threaded build, which isn't neccessary.  Now
  we do locking iff progress threads are enabled OR thread level
  is above MPI_THREAD_SINGLE.

This commit was SVN r11390.
2006-08-24 13:57:26 +00:00
Brian Barrett
4c3f135a92 * don't need to extern these here -- already done earlier in header file.
Fixes warnings Jeff was complaining about

This commit was SVN r11389.
2006-08-24 13:48:17 +00:00
George Bosilca
10fe79499b Use the correct typedef.
This commit was SVN r11387.
2006-08-24 05:08:40 +00:00
George Bosilca
a9be163fa7 Backup most of the changes to the event library. At this point the only
remaining changes are in event.c and event.h, plus everything in the
WIN32-Code directory. I still have to find a way to make it working on
Windows without these changes, but I have good hopes. However, the
the code in WIN32-Code will have to stay there as it's more stable
than the one provided by the libevent project.

This commit was SVN r11386.
2006-08-24 04:56:36 +00:00
Brian Barrett
a9c2b38877 * clean up George's threading changes -- we can't check for PROGRESS_THREADS,
as we can have multiple threads in the event library if there are multiple
  MPI threads.  Well, we could, once I fix the need for the lock in
  opal_progress(), which should happen shortly.  Anyway, we need to use the
  same locking scheme throughout the code, and the device support was
  already using the OPAL_THREAD__{lock,unlock} macros, which only go
  active when we think there are multiple threads we care about.

  Also, stop duplicating the OPAL_THREAD_SCOPED_LOCK macro's functionality
  and use it in a bunch of places in the code.

This commit was SVN r11383.
2006-08-23 22:19:31 +00:00
George Bosilca
9d5ba9daee Rollback my changes for the Windows port on these 3 files. Remove some of the
functionality of libevent for Windows. Anyway, these functions are not 
currently used in the Open MPI project, so it's safe to remove them from the
Windows library. But, they should be never used otherwise changes are 
required.

This commit was SVN r11378.
2006-08-23 21:17:50 +00:00
Sven Stork
a7e1135151 - add stdarg.h for va_list
This commit was SVN r11354.
2006-08-23 08:02:26 +00:00
George Bosilca
7b10dd165b Don't use mutexes if there are no threads.
This commit was SVN r11352.
2006-08-23 06:14:58 +00:00
George Bosilca
736d2d4cb6 On UNIX dirname return a pointer to a static buffer. In order to have
a consistent behavior return a newly allocated string from opal_dirname.

This commit was SVN r11350.
2006-08-23 06:10:29 +00:00
George Bosilca
736eb3c1de Remove the Windows specific EOL.
This commit was SVN r11349.
2006-08-23 04:19:07 +00:00
George Bosilca
b621313653 Remove all references to the removed files.
This commit was SVN r11344.
2006-08-23 02:18:24 +00:00
George Bosilca
858dba5f13 These files are not usefull anymore.
This commit was SVN r11343.
2006-08-23 01:26:58 +00:00
George Bosilca
a5d20ec565 Remove the latest set of warnings (catched by gcc 4). Now everything
should be clean.

This commit was SVN r11341.
2006-08-23 00:48:05 +00:00
George Bosilca
5e280cda19 Latest and greatest. Now OPAL is ready for the Windows prime-time.
The same treatement will happens on all sub-projects. The .h files
have to be C++ compatibles and all symbols with an external visibility
have to get the {PROJECT}_DECLSPEC in front of the prototype.

This commit was SVN r11340.
2006-08-23 00:29:35 +00:00
George Bosilca
b20cdbc651 Don't call opal_mutex_unlock if there is no progress thread. Now we are
few tens of microsecond faster.

This commit was SVN r11339.
2006-08-22 23:55:33 +00:00
George Bosilca
663175df1a C++ comments are not allowed.
This commit was SVN r11338.
2006-08-22 23:49:57 +00:00
George Bosilca
63fe3bb2d9 Do not believe what the man page say.
This commit was SVN r11337.
2006-08-22 23:48:54 +00:00
George Bosilca
a28b025150 Everything related to file and path management. Now we have a full
range of OS friendly path management functions, such as opal_basename
opal_dirname. They should always be used instead of basename and
dirname. There are several functions which allow us to create paths
that are compatible with the OS.
The OPAL_ENV_SEP define should be used (instead of ':') when a env
variable is splitted.

This commit was SVN r11336.
2006-08-22 23:25:13 +00:00
George Bosilca
2fa412fcd0 Add a error message for opal wrapper.
Make the wrapper compiler 100% Windows compatible.

This commit was SVN r11335.
2006-08-22 23:19:53 +00:00
George Bosilca
1afdaad4dc And the correct version (with the correct cast) ...
This commit was SVN r11330.
2006-08-22 20:15:11 +00:00
George Bosilca
558646b07f One big step forward. Mostly explicit casting for Windows plus the
Windows version for the libevent. The one they provide is more than
innapropriate for what we need (without talking about the fact that
the code is just plain wrong).

This commit was SVN r11329.
2006-08-22 20:07:42 +00:00
George Bosilca
4b28cd18e9 The master file for the Windows port. There are several big changes.
One of the most important is the IOVBASE_TYPE which should be used
all over the places for casting to and from the iov_base field of
the iovec struct. The reason is because windows does not support
any kind of implicit conversion (not even through void*). All
conversions should be EXPLICIT.

This commit was SVN r11328.
2006-08-22 19:28:47 +00:00
George Bosilca
0a2563037d That's the way we synchronously create a process on Windows.
This commit was SVN r11326.
2006-08-22 18:02:10 +00:00
George Bosilca
ee5d0828e6 Correctly handle the basic operations on threads.
This commit was SVN r11325.
2006-08-22 17:55:36 +00:00
George Bosilca
79e5e35f5b Move the extern "C" at the right place.
This commit was SVN r11324.
2006-08-22 17:52:19 +00:00
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