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

803 Коммитов

Автор SHA1 Сообщение Дата
George Bosilca
2a8f348537 No more warnings on Windows.
This commit was SVN r13548.
2007-02-07 22:38:09 +00:00
George Bosilca
6724833eef Protect unistd.h usage.
This commit was SVN r13546.
2007-02-07 22:36:50 +00:00
Ralph Castain
c7be9a7121 Complete backout of prior sched_yield and paffinity changes
This commit was SVN r13530.
2007-02-07 14:22:37 +00:00
Pak Lui
b99b200aeb * fix a typo
This commit was SVN r13525.
2007-02-06 21:59:55 +00:00
George Bosilca
ebbc37584f Add Windows support for finding the number of available processors, and
return the same value if there is no registered paffinity module.

This commit was SVN r13509.
2007-02-06 16:53:13 +00:00
Jeff Squyres
0732c555de Refs trac:853
Add new function opal_get_num_processors() that will return the number
of processors on the local host.  Does the Right thing in POSIX
environments (to include a special case for OS X), and will shortly do
the Right Thing for Windows (this commit includes a change to
configure, so I wanted to get that in before the US workday -- the
Windows code can some shortly because it won't involve configury
changes).

This commit was SVN r13506.

The following Trac tickets were found above:
  Ticket 853 --> https://svn.open-mpi.org/trac/ompi/ticket/853
2007-02-06 12:03:56 +00:00
Jeff Squyres
c91fcd7fbd Fix a bunch of minor typos submitted by Bernhard Fischer.
This commit was SVN r13505.
2007-02-06 12:00:30 +00:00
George Bosilca
d5982eb5cb The whole affinity game for the Microsoft Windows platform.
This commit was SVN r13503.
2007-02-06 00:23:51 +00:00
Brian Barrett
cf8bc2ad0b print debugging information about switing the event flag and print the
initialization information

This commit was SVN r13497.
2007-02-05 19:38:54 +00:00
George Bosilca
30b2c55900 Move the attribute definition at the beginning of the
opal_config_bottom.h file.

This commit was SVN r13461.
2007-02-02 06:28:30 +00:00
Brian Barrett
c90ad01220 set object information in the internal macro, as that's what is used by
the free list grow functions

This commit was SVN r13402.
2007-01-31 21:51:06 +00:00
George Bosilca
05b11a7052 Remove 2 compiler warnings from opal.
This commit was SVN r13394.
2007-01-31 16:00:15 +00:00
George Bosilca
272d2e99c9 Reorder the code.
This commit was SVN r13393.
2007-01-31 15:58:51 +00:00
Rainer Keller
1766b7e90d - Attribute Nonnull may take an argument __opal_attribute_nonnull__
This commit was SVN r13392.
2007-01-31 15:07:54 +00:00
Sven Stork
b7ef2027de fix broken attribute definitions:
The OMPI_HAVE_ATTRIBUTE flag is always set when the oldest attribute
is supported. But in all cases when the OMPI_HAVE_ATTRIBUTE is set and 
one of the attributes is not supported the empty declaration is missing.

This commit was SVN r13390.
2007-01-31 14:30:51 +00:00
Rainer Keller
284c757fde - Properly set the macros, if the two attributes are not available.
This commit was SVN r13387.
2007-01-31 09:31:11 +00:00
George Bosilca
8d343cdbd9 __const__ attribute can only be attached to the function prototype. Some
modern compiler tolerate it on inlined function declaration, but usually
it should be attached to the prototype.

This commit was SVN r13383.
2007-01-31 04:52:33 +00:00
George Bosilca
d4031a97c4 Decrease the number of branches in the critical path.
This commit was SVN r13379.
2007-01-31 03:01:23 +00:00
George Bosilca
9dead6382b What we need is to have unsigned long long constants.
This commit was SVN r13378.
2007-01-31 03:00:33 +00:00
Rainer Keller
7d799523e5 - include the attributes for always_inline and sentinel
This commit was SVN r13373.
2007-01-30 21:26:08 +00:00
Rainer Keller
061ba05439 - Fixes uncovered with the format attribute to
opal_output and opal_output_verbose

This commit was SVN r13371.
2007-01-30 20:56:31 +00:00
Rainer Keller
01ba38661d - First usage of the some of the attributes
This commit was SVN r13370.
2007-01-30 20:54:06 +00:00
Rainer Keller
2bda2f5d8c - Fix and extend the attribute checking macros for the
most common attributes. Useful attributes may be:
   - optimization (pure, const, malloc--restrictness)
   - data layout (packed)
   - interface definition, API (deprecated, visibility, weak alias)
   - compiler hint for code analysis and debugging (nonnull, format)

This commit was SVN r13369.
2007-01-30 20:52:46 +00:00
Rainer Keller
3669e8921e - Fix further compiler warnings regarding initialization
and shadowing variables.

This commit was SVN r13358.
2007-01-30 06:34:38 +00:00
George Bosilca
38fd8ffb54 The intended patch.
This commit was SVN r13342.
2007-01-28 04:55:05 +00:00
Jeff Squyres
c522f6f997 Tim pointed out that the original value was probably not what was
intended.  In truth, any unique value will do, but he's right that
having a regular, recognizeable, repeatable value is probably much
better for debugging purposes.

This commit was SVN r13341.
2007-01-28 00:46:25 +00:00
Jeff Squyres
3c5c8c3c4c Refinement of Rainer's r13227 and r13228 (worked with Rainer, Ralph,
and George on these refinements):

 * Rename the static OBJ initializer macro to be
   OPAL_OBJ_STATIC_INIT(class)
 * Ensure that all static OBJ initializations get a refcount of 1
   (doesn't ''really'' matter, since they're static, it should never
   get to the point where the OBJ is DESTRUCTed, but more correct
   nonetheless)
 * Add a "magic number" to the OBJ when compiling with debug support.
   The magic number does some rudimentary support to ensure that
   you're operating on a valid OBJ (and fails an assertion if you're
   not).  Check to ensure that the memory contains the magic number
   when performing actions of OBJ's.  Also remove the magic number
   when DESTRUCTing OBJs, so that if, for example, an OBJ is
   DESTRUCTed more than once, we'll fail the magic number assert.

This commit was SVN r13338.

The following SVN revision numbers were found above:
  r13227 --> open-mpi/ompi@96030de97b
  r13228 --> open-mpi/ompi@c2e9075d29
2007-01-27 13:44:03 +00:00
George Bosilca
5711583bdf Force only one thread to come out from the
socket engine.

This commit was SVN r13298.
2007-01-25 07:36:42 +00:00
George Bosilca
950b07d860 Work around the Windows sockets model.
This commit was SVN r13294.
2007-01-25 00:19:02 +00:00
George Bosilca
b6307807d8 Export opal_path_is_absolute which correctly compute if a path is
absolute or not.

This commit was SVN r13292.
2007-01-25 00:17:02 +00:00
George Bosilca
a5b13f824d A more Windows friendly version of the opal_basename function.
This commit was SVN r13291.
2007-01-25 00:15:56 +00:00
Jeff Squyres
5d80458563 Fix typo.
This commit was SVN r13277.
2007-01-24 17:40:02 +00:00
Brian Barrett
4e990ac0e9 Work around structure size / packing issue on 64 bit Intel Mac builds. Long
comment explaining the patch in the patch.

Refs trac:574

This commit was SVN r13276.

The following Trac tickets were found above:
  Ticket 574 --> https://svn.open-mpi.org/trac/ompi/ticket/574
2007-01-24 17:31:49 +00:00
Brian Barrett
6919ccfd2b Don't pass up slave devices in a channel bonding situation as valid
network interfaces, as they shouldn't directly be used

This commit was SVN r13272.
2007-01-24 16:39:16 +00:00
George Bosilca
658f411ba4 As there is no X_OK on Windows, make it equal to R_OK.
This commit was SVN r13270.
2007-01-24 05:36:02 +00:00
George Bosilca
6c8bbb423e Replace TAB by space.
This commit was SVN r13269.
2007-01-24 00:53:12 +00:00
George Bosilca
0993ffa645 On Windows allow or the separators to be / or \.
As we return the basename there is no need to call make_friendly.

This commit was SVN r13256.
2007-01-23 17:58:17 +00:00
Brian Barrett
24b40860d7 add comment explaining r13038
This commit was SVN r13240.

The following SVN revision numbers were found above:
  r13038 --> open-mpi/ompi@65b04f295a
2007-01-22 17:47:07 +00:00
George Bosilca
c0b22678a7 OMPI_ENABLE_DEBUG is always defined. Remove all warnings when compiled in
non debug mode.

This commit was SVN r13230.
2007-01-21 18:14:06 +00:00
Rainer Keller
c2e9075d29 - Define a OPAL_CLASS_EMPTY to be used for initialization.
Similar within the dt_module for the predefined datatypes.

This commit was SVN r13228.
2007-01-21 15:52:06 +00:00
Rainer Keller
96030de97b - Initialize the size of the opal_object class.
- Use the OBJ_CLASS_INSTANCE macro to initialize classes.
   This also gets rid of several missing initialization errors.

This commit was SVN r13227.
2007-01-21 14:24:29 +00:00
Rainer Keller
125ba1acfa - Reduce the amount of warnings with -Wshadow -- mainly due to
usage of index and abs in inline-fcts in header files.

This commit was SVN r13217.
2007-01-19 19:48:06 +00:00
Ralph Castain
78dfaeb008 Missing include file when this is "included" by itself
This commit was SVN r13192.
2007-01-18 17:40:21 +00:00
Jeff Squyres
fe08f5c675 Fix a compiler warning that Ralph noticed when compiling with
--disable-dlopen (extra OBJ_CLASS_INSTANCES that were not being
used).

This commit was SVN r13169.
2007-01-17 22:36:33 +00:00
Brian Barrett
da3e0dc91a Some wrapper cleanups:
* Need to install the help file whenever we install the binary, not when
    we make the opal symlinks.
  * Exit with non-zero status when language isn't supported

This commit was SVN r13139.
2007-01-17 03:11:42 +00:00
Brian Barrett
e52664b9f7 fix compiler warning
This commit was SVN r13115.
2007-01-14 20:33:17 +00:00
Rainer Keller
a5fe77e164 - get rid of unnecessary
#if OMPI_ENABLE_PROGRESS_THREADS

This commit was SVN r13114.
2007-01-14 12:28:36 +00:00
George Bosilca
c9be97c089 Fix the bug 678 on Windows.
This commit was SVN r13057.
2007-01-09 16:31:08 +00:00
George Bosilca
31959f7f56 Make some functions static and correct some warnings.
This commit was SVN r13048.
2007-01-08 22:05:42 +00:00
George Bosilca
7a9d5b38cd Update the Windows compatibility file.
This commit was SVN r13047.
2007-01-08 22:05:01 +00:00
Brian Barrett
65b04f295a * Need to take the numerator of the timebase info into account, as the mach
timers might natively return nanoseconds instead of microseconds, as is
  the case on x86.  Fixes an issue with really high shared memory latencies
  on Intel macs

This commit was SVN r13038.
2007-01-08 19:55:18 +00:00
Brian Barrett
e130f18cc2 Fix some compiler warnings that have slipped in lately...
This commit was SVN r13037.
2007-01-08 17:20:09 +00:00
Brian Barrett
a34e67d743 Remove unneeded PARAM_INIT_FILE variable in configure.params files used by
components that use configure.m4 for configuration or are always built. 
The macro has not been needed since moving to configure types other than
configure.stub

Fixes trac:590

This commit was SVN r13031.

The following Trac tickets were found above:
  Ticket 590 --> https://svn.open-mpi.org/trac/ompi/ticket/590
2007-01-08 03:44:22 +00:00
Brian Barrett
8900d3ae43 Second take at fixing the issues with using ompi_ptr_t. Add helper functions for converting from .pval to .lval and vice-versa. Users of ompi_ptr_t types should only use one of the fields in the union unless using the helper conversion functions. For the BTLs, local pointers will always be stored in the .pval field and remote pointers always stored in the .lval field.
George wrote the initial patch, I extended it slightly and am responsible for all bugs found.

Refs trac:587

This commit was SVN r13023.

The following Trac tickets were found above:
  Ticket 587 --> https://svn.open-mpi.org/trac/ompi/ticket/587
2007-01-07 01:48:57 +00:00
Brian Barrett
48ec0b2071 Revert out r12974, 12976, and 12991 as George has provided a less intrusive fix
for now...

This commit was SVN r12997.

The following SVN revision numbers were found above:
  r12974 --> open-mpi/ompi@27cea44a9c
2007-01-04 22:07:37 +00:00
Brian Barrett
27cea44a9c Fix a number of issues with the ompi_ptr_t:
* Make sure that the pval always writes to the correct portion of the
    lval.  This only matters on 32 bit big endian machines.
  * On 32 bit machines when assigning to pval, the other 4 bytes of lval
    weren't being written, which could lead to bogus data

We use macros so that there aren't casts all over the code and the pval
assignment can occur to the correct 4 bytes.  Refs trac:587

This commit was SVN r12974.

The following Trac tickets were found above:
  Ticket 587 --> https://svn.open-mpi.org/trac/ompi/ticket/587
2007-01-03 19:47:48 +00:00
Ralph Castain
e5f90eaadc Repair an abstraction violation - OPAL components should refer to OPAL version numbers, not OMPI version numbers.
This now allows OPAL to be built separately.

This commit was SVN r12955.
2007-01-02 16:17:47 +00:00
Brian Barrett
c9a20d7a5e Make sure to distribute align.h. Fixes build failure.
This commit was SVN r12898.
2006-12-19 02:42:01 +00:00
Gleb Natapov
b910d10a81 Add general functions for alignment and change rdma_mpool_align to always
honor an alignment event if posix_memalign() is not available.

This commit was SVN r12892.
2006-12-18 10:52:18 +00:00
Brian Barrett
299fc7149e Argh! screwed up a merge. Fix compile error
Refs trac:538

This commit was SVN r12887.

The following Trac tickets were found above:
  Ticket 538 --> https://svn.open-mpi.org/trac/ompi/ticket/538
2006-12-17 19:50:20 +00:00
Brian Barrett
edbce8bfec Don't get the hostname from the environment as SLURM doesn't update that
environment variable, so it's not so useful (arg!).  Instead, get the
hostname during opal_init().  Don't want to call gethostname() during
the signal handler.  While we're at it, only print the machine name
so that the output isn't so wide

Refs trac:538

This commit was SVN r12886.

The following Trac tickets were found above:
  Ticket 538 --> https://svn.open-mpi.org/trac/ompi/ticket/538
2006-12-17 19:48:19 +00:00
Brian Barrett
f28391f9ae Hide the fact we're not printing two levels of trace
Refs trac:538

This commit was SVN r12885.

The following Trac tickets were found above:
  Ticket 538 --> https://svn.open-mpi.org/trac/ompi/ticket/538
2006-12-17 19:31:08 +00:00
Brian Barrett
5fb6183e64 * Write out stackframe number when using backtrace_buffer()
* Print out header that a signal was received

Refs trac:538

This commit was SVN r12884.

The following Trac tickets were found above:
  Ticket 538 --> https://svn.open-mpi.org/trac/ompi/ticket/538
2006-12-17 19:27:57 +00:00
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