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

906 Коммитов

Автор SHA1 Сообщение Дата
Bill D'Amico
9b5f73976d Bring Portable Linux Processor Affinity into trunk.
Changes paffinity interface to use a cpu mask for available/preferred cpus
rather than the current coarse grained paffinity that lets the OS choose
which processor.

Macros for setting and clearing masks are provided.

Solaris and windows changes have not been made. Solaris subdirectory has some
suggested changes - however the relevant man pages for the Solaris 10 APIs
have some ambiguity regarding order in which one create and sets a processor
set. As we did not have access to a solaris 10 machine we could not test to
see the correct way to do the work under solaris.

This commit was SVN r14887.
2007-06-05 22:07:30 +00:00
Tim Prins
f3e13f7231 Need one additional space for the case that the path is relative
This commit was SVN r14870.
2007-06-05 14:50:15 +00:00
Brian Barrett
508da4e959 OS X apparently really doesn't like shared libraries with unresolvable
symbols in them and environ is defined only in the final application
(probably in crt1.o).  Apple provides a function for getting at the
environment, so use that instead if it's available.

This commit was SVN r14857.
2007-06-05 03:03:59 +00:00
Shiqing Fan
9b6af19371 opal_cr is disabled on Windows, but we don't want to stop the program here, make it continue to run.
This commit was SVN r14847.
2007-06-04 12:34:02 +00:00
Shiqing Fan
03fa831c34 Get rid of structure rlimit only on Windows, which doesn't provide such structure definition.
This commit was SVN r14846.
2007-06-04 12:27:40 +00:00
Shiqing Fan
90b99e5344 Make select work for MS Windows.
This commit was SVN r14845.
2007-06-04 10:53:04 +00:00
Brian Barrett
34fea87819 * Only need to to the opal_progress_event_users_increment() once between
OPAL and ORTE.  Since we now do opal_progress_init(), we do it
    there.  Fixes a performance issue introduced in r14773.
  * While trying to find the above, notived that we did the reference
    counting for the init in init_util and for finalize in fini.  That
    isn't right, so make them both in the non-util versions.

This commit was SVN r14830.

The following SVN revision numbers were found above:
  r14773 --> open-mpi/ompi@1e678c3f55
2007-06-01 02:43:46 +00:00
Brian Barrett
bc32a0f1bc Don't build all the network support code on systems without sockets (like
the Cray XT3)

This commit was SVN r14797.
2007-05-30 15:25:22 +00:00
Josh Hursey
1e678c3f55 per conversation with Ralph and Jeff take out the opal_init_only logic.
This commit moves the initalization/finalization of opal_event and opal_progress
to opal_init/finalize. These were previously init/final in ORTE which is an
abstraction violation. After talking about it we concluded that there are no
ordering issues that require these to be init/final in ORTE instead of OPAL.

I ran the IBM test suite against this commit and it didn't turn up any new
failures so I think it is good to go.

Let us know if this causes problems.

This commit was SVN r14773.
2007-05-24 21:54:58 +00:00
Rainer Keller
a665b7a20d - Getting rid of "missing initializer" warnings
This commit was SVN r14766.
2007-05-24 19:19:52 +00:00
Rainer Keller
0e2a335297 - When not debugging, do not initialize a unused mutexattr.
This commit was SVN r14761.
2007-05-24 18:54:22 +00:00
Josh Hursey
caea631032 Fix a compiler error when not building with ipv6 support.
This commit was SVN r14743.
2007-05-23 21:53:00 +00:00
Adrian Knoth
b2219710d4 Cosmetics. Changed function name in error output.
This commit was SVN r14724.
2007-05-23 10:05:18 +00:00
Brian Barrett
0e9e0c518a Fix a couple more progress thread related issues...
This commit was SVN r14708.
2007-05-21 16:06:14 +00:00
Brian Barrett
6b4264f178 * forgot to fix the BSD and Sun cases for finding IPv6 addresses
This commit was SVN r14688.
2007-05-17 16:21:44 +00:00
Brian Barrett
33a5758521 Some IPv6 improvements:
* Move ipv6comat.h code into opal_config_bottom.h and change into some
    more intelligent testing of structures
  * Change opal's if interface to use sockaddr instead of sockaddr_storage,
    as the RFCs suggest we do
  * Move the networking code in opal that isn't directly related to if
    detection into net.h
  * Add quicky function to get the port out of either a sockaddr_in
    or sockaddr_in6, saving a bunch of code in the oob.
  * Update TCP oob and btl with new interface

This commit was SVN r14679.
2007-05-17 01:17:59 +00:00
Sven Stork
22af6d38e6 - UNexport symbols that shouldn't be needed outside the libraries
- replace #if/#endif with BEGIN/END_C_DECLS
- reformating

This commit was SVN r14669.
2007-05-16 15:46:52 +00:00
Sven Stork
a97e65e7f7 - export mmap/munmap so the memory manager can intercept this calls
This commit was SVN r14665.
2007-05-16 13:40:33 +00:00
Brian Barrett
21e00f6f0c Clean up a couple of configure things:
* Require Autoconf 2.60 or higher and remove some cruft
    required for AC 2.59 or the AC 2.59 / AC 2.60 mix
  * Remove a bunch of now unnecessary AC_SUBST calls
  * Use the libtool-provided variables for the -I and
    library to use when compiling against ltdl

Fixes trac:1000

This commit was SVN r14652.

The following Trac tickets were found above:
  Ticket 1000 --> https://svn.open-mpi.org/trac/ompi/ticket/1000
2007-05-15 04:23:48 +00:00
Rich Graham
dc06f174ae fix dummy functions to match the function prototype
This commit was SVN r14624.
2007-05-09 04:46:21 +00:00
Sven Stork
a04c8eb39a - Bring over the visibility feature, for a finer symbol export control
via the visibility feature that is provided by some compilers.

  Per default this feature is disabled, to enable it you need to
  configure with --enable-visibility and obviously you need a compiler
  with visibility support. Please refer to the wiki for more information.
  https://svn.open-mpi.org/trac/ompi/wiki/Visibility

This commit was SVN r14582.
2007-05-04 09:03:37 +00:00
Rolf vandeVaart
c48dde66ac Change the __const qualifier to const. This change was needed
because the Sun Studio compiler did not recognize __const.

This commit fixes trac:1011.

This commit was SVN r14558.

The following Trac tickets were found above:
  Ticket 1011 --> https://svn.open-mpi.org/trac/ompi/ticket/1011
2007-05-01 17:45:37 +00:00
George Bosilca
bb481273a6 Typos.
This commit was SVN r14546.
2007-04-28 19:15:53 +00:00
George Bosilca
abe6ddfd04 Remove dead code.
This commit was SVN r14545.
2007-04-28 19:15:02 +00:00
Sven Stork
7341af93cf - fix comment to refer to the right header file
This commit was SVN r14528.
2007-04-26 09:36:47 +00:00
Rainer Keller
6f9251ed39 - Small fixes by PGI -Minform=inform
This commit was SVN r14524.
2007-04-26 08:16:07 +00:00
Rainer Keller
9c3838d1a0 - Make definition available within C as well.
This commit was SVN r14523.
2007-04-26 08:06:00 +00:00
Jeff Squyres
c331ed7bda Fix "make dist" by adding ipv6compat.h into the headers list.
This commit was SVN r14522.
2007-04-26 02:33:02 +00:00
Brian Barrett
4b8bb70afb A couple cleanups for the IPv6 support:
- make opal_sockaddr2str() take a sockaddr_storage instead of a sockaddr_in6
    so that it works for IPv4 and IPv6 addresses, and remove a whole bunch
    of #ifs in the OOOB code.
  - Fix a compiler warning in the TCP BTL due to run-time determined
    array size by making it a dynamicly allocated array.
  - Fix the unpacking code of IPv4 addresses when using IPv6 support, so
    that the address is in the correct location (instead of in an IPv6
    structure, use an IPv4 structure).  Refs trac:1005.

This commit was SVN r14514.

The following Trac tickets were found above:
  Ticket 1005 --> https://svn.open-mpi.org/trac/ompi/ticket/1005
2007-04-25 19:08:07 +00:00
Adrian Knoth
d01125f051 Typo.
This commit was SVN r14513.
2007-04-25 18:19:34 +00:00
Adrian Knoth
d1ce39de4f Move mca_btl_tcp_addr_isipv4public to opal_addr_isipv4public
This commit was SVN r14512.
2007-04-25 18:06:06 +00:00
Jeff Squyres
68da8b984f Oops -- misspelled the macro. Thanks to Ralph for catching the
error...

This commit was SVN r14508.
2007-04-25 11:56:31 +00:00
Jeff Squyres
c4c68e666a Merge in the ipv6 work from /tmp/ipv6-merge.
This commit was SVN r14503.
2007-04-25 01:55:40 +00:00
Jeff Squyres
00347db419 Put in a check for RLIMIT_PROC before trying to use it.
This commit was SVN r14502.
2007-04-25 01:54:37 +00:00
Jeff Squyres
d8cc501384 Add missing header.
This commit was SVN r14485.
2007-04-24 14:27:51 +00:00
Ralph Castain
1682a72d34 Add ability to read system limits on number of children, open files, and file size from the local OS - to be used in failed-to-start scenarios
This commit was SVN r14476.
2007-04-23 18:53:47 +00:00
Sharon Melamed
fc91aa6f31 hanging atoi call to strtol call to be able to
read Hex values in the param list.

This commit was SVN r14462.
2007-04-22 07:45:51 +00:00
Josh Hursey
27a42f48d3 Make sure to call opal_init_util before mca_base_open().
This bug(?) become apparent due to the installdirs commit since these tools
were not finding the proper libraries since the paths were wonkey.

It all looks good now. :)

This commit was SVN r14461.
2007-04-21 22:38:15 +00:00
Josh Hursey
646c2b2171 This commit fixes trac:1002.
Protect the free and strdup values for replacing keyval pairs just as we do 
below in the files for new keyval pairs.

In basic testing this seems to make everything work as it should again.

This commit was SVN r14460.

The following Trac tickets were found above:
  Ticket 1002 --> https://svn.open-mpi.org/trac/ompi/ticket/1002
2007-04-21 21:51:18 +00:00
George Bosilca
f0dd3e329c Allow the installdir components to be compiled on Windows.
This commit was SVN r14455.
2007-04-21 06:30:30 +00:00
Jeff Squyres
5bebd24250 Bring over Brian's installdirs fixes from this afternoon (r14445).
This commit was SVN r14450.

The following SVN revision numbers were found above:
  r14445 --> open-mpi/ompi@13d366b827
2007-04-21 00:16:31 +00:00
Jeff Squyres
0ba47105ed Merge the /tmp/jms-installdirs-trunk branch into the trunk. This
finally brings in functionality that is already on the 1.2 branch, and
was developed and tested in the v1.2ofed branch (and other places).

Short version of new features:

 * Support for ibv_fork_init() 
 * Automatically fill in the openib BTL bandwidth value by 
   querying the HCA port 
 * Installdirs functionality 
 * Fixes to always use -I in the Fortran wrapper compilers (#924) 
 * Gleb's mpool updates 
 * Remove some kruft in btl/openib/configure.m4, therefore 
   fixing the harmless warnings noted in #665 
 * Bunches of updates to the Linux RPM spec file 

I.e., effectively the same thing that r14411 brought to the v1.2
branch.

Also effectively brought in r14432 and r14433 (some fixes on top of
the original r14411 commit to v1.2).  Still need to bring in the moral
equivalent of r14445 after this commit (fixes to installdirs).

This commit was SVN r14449.

The following SVN revision numbers were found above:
  r14411 --> open-mpi/ompi@83b31314ae
  r14432 --> open-mpi/ompi@a48f160595
  r14433 --> open-mpi/ompi@68f346d2bc
  r14445 --> open-mpi/ompi@13d366b827
2007-04-21 00:15:05 +00:00
Brian Barrett
146025bd0a It is allowable to pass NULL as the first argument to opal_argv_split (whether
that makes sense or not, it is allowed and it is done).  Remove the compiler
hint that the argument will never be NULL.  Fixes a segfault in oob init
code when opal_argv_split() was called with a NULL first argument.

This commit was SVN r14440.
2007-04-20 15:31:26 +00:00
Sven Stork
b5f1538d21 - export the required symbols
This commit was SVN r14414.
2007-04-18 13:27:28 +00:00
George Bosilca
5adcc2d3f9 Add OPAL_MODULE_DECLSPEC for the darwin component.
This commit was SVN r14410.
2007-04-17 22:39:40 +00:00
Jeff Squyres
5f1eb97ad8 Be sure to check for the syslog() function (it doesn't exist in
VXWorks, for example).  Checked with George before committing this to
ensure that nothing broke on Windows -- he said it was ok.

This commit was SVN r14388.
2007-04-17 03:11:30 +00:00
Josh Hursey
8f119d9063 Closes trac:977
Fix for memory corruption in the restarted process stack. This stemed from 
the brute force method we were previously using. This commit fixes this by
using a lighter weight solution focused in the r2 BML instead of above the PML.
This is a more efficient and flexible solution, and it solves the original
problem.

In the process I pulled out the ft_event function in the tcp BTL and r2 BML
into a set of *_ft.[c|h] files just to keep any updates to these code paths
as isolated as possible to make merging easier on everyone.

This commit was SVN r14371.

The following SVN revision numbers were found above:
  r2 --> open-mpi/ompi@58fdc18855

The following Trac tickets were found above:
  Ticket 977 --> https://svn.open-mpi.org/trac/ompi/ticket/977
2007-04-14 02:06:05 +00:00
Brian Barrett
dce72aab70 Prior to Mac OS X 10.3, the length modifier "ll" wasn't
supported, but "q" was for long long.  This isn't ANSI
C and causes a warning when using PRI?64 macros.  We
don't support versions prior to OS X 10.3, so we dont'
need such backward compatibility.  Instead, redefine
the macros to be "ll", which is ANSI C and doesn't
cause a compiler warning.

Fixes trac:868

This commit was SVN r14358.

The following Trac tickets were found above:
  Ticket 868 --> https://svn.open-mpi.org/trac/ompi/ticket/868
2007-04-12 16:34:01 +00:00
Jeff Squyres
51f286d737 Just like r14289 on the ORTE trunk:
Per discussions with Brian and Ralph, make a slight correction in
where components are installed. Use $pkglibdir, not $libdir/openmpi,
so that when compiled in the orte trunk, components are installed to
the right directory (because the component search patch is checking
$pkglibdir).

This commit was SVN r14345.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r14289
2007-04-12 11:19:42 +00:00
George Bosilca
27738e9721 Small cleanup.
This commit was SVN r14339.
2007-04-12 06:25:57 +00:00
George Bosilca
fce678c1d1 Pinpoint the usual execution path (add OPAL_LIKELY).
This commit was SVN r14337.
2007-04-12 06:18:01 +00:00
George Bosilca
ebb44a3bf9 Don't break the "make dist"
This commit was SVN r14330.
2007-04-12 05:07:27 +00:00
George Bosilca
633ee3c2ce Small optimizations in order to force the compiler to inline some critical functions.
This commit was SVN r14317.
2007-04-12 04:29:43 +00:00
George Bosilca
fd4602fece Simple set of macros to compute the hash value for a string. The goal is
to have a very quick function.

This commit was SVN r14316.
2007-04-12 04:18:49 +00:00
Tim Prins
e09a154266 fix a buglet..
This commit was SVN r14259.
2007-04-07 18:27:39 +00:00
Tim Prins
b1bed8375c A few more small leaks...
This commit was SVN r14200.
2007-04-02 21:12:16 +00:00
George Bosilca
1dcf2aaedf We need libgen.h for dirname.
This commit was SVN r14190.
2007-04-01 16:26:54 +00:00
George Bosilca
cd5a4c6416 Save the ghost pointer once the element is initialized.
This commit was SVN r14189.
2007-04-01 16:18:48 +00:00
George Bosilca
f2a6b9394f Deal with the include spree. Protect "environ" on Windows.
Some others minors modifications in order to make it
compile [again] on Windows.

This commit was SVN r14188.
2007-04-01 16:16:54 +00:00
George Bosilca
6ddd250a87 OPAL layer should include opal_config.h not ompi_config.h
This commit was SVN r14187.
2007-04-01 16:10:05 +00:00
George Bosilca
01a4f56369 Mostly DECLSPEC cleanups and some include corrections.
This commit was SVN r14186.
2007-04-01 16:08:27 +00:00
George Bosilca
50f2695fe2 Be more generic with the Windows support.
This commit was SVN r14185.
2007-04-01 15:56:59 +00:00
George Bosilca
da4d993176 dd some Windows missing defines & macros.
This commit was SVN r14184.
2007-04-01 15:55:34 +00:00
Tim Prins
ce6b44d476 Fix a couple of minor memory leaks
This commit was SVN r14166.
2007-03-29 01:02:26 +00:00
Tim Prins
bc1b046e33 Change a bunch of 'OMPI' names to OPAL names, since this is opal.
This commit was SVN r14165.
2007-03-29 01:00:33 +00:00
George Bosilca
852d6b0b68 Including windows.h after opal_config.h was included break the precompiled
header feature of Visual C++.

This commit was SVN r14157.
2007-03-28 14:20:23 +00:00
Shiqing Fan
91cfb2f149 A few mismatched declearations are fixed, and several header files are added for Cygwin...
This commit was SVN r14151.
2007-03-27 14:17:25 +00:00
Sven Stork
548c511700 - export required symbol
This commit was SVN r14140.
2007-03-26 13:54:20 +00:00
Rainer Keller
1322f9f346 - Further attributes mainly for opal/* functions, marking
__opal_attribute_nonnull__, __opal_attribute_warn_unused_result__,
   __opal_attribute_malloc__, __opal_attribute_sentinel__ and
   __opal_attribute_format__

This commit was SVN r14078.
2007-03-20 13:01:32 +00:00
Sven Stork
d67565b042 - use include path relative to opal/include or this header file will not work when installed "--with-devel-headers"
This commit was SVN r14077.
2007-03-20 12:38:06 +00:00
Rainer Keller
249abd29c2 - Mark some deprecated functions (two still commented) and fix to
not use opal_cmd_line_make_opt anymore.

This commit was SVN r14072.
2007-03-20 10:08:58 +00:00
Josh Hursey
7ab741c1e2 - Add some debugging hooks for the CR runtime MCA params
- Add signal handler BLCR register (helps with debugging)
- ifdef out the cr_request_file section for checkpointing self.
  There is a bug with the 0.4.2 version of BLCR such that this
  does not handle moving checkpoint files around.
  I'm following up with the BLCR folks on this one (and checking
  the newest release).

This commit was SVN r14069.
2007-03-19 21:18:03 +00:00
Josh Hursey
a181c987cc Remove some old references to ft_enable parameter that no longer exists.
This was replaced by the "-am ft-enable-cr" AMCA parameter.

This commit was SVN r14055.
2007-03-17 20:02:42 +00:00
Josh Hursey
d03073e87d Make sure to protect the finalize call so tools like ompi_info
do not segv.

This commit was SVN r14054.
2007-03-17 19:47:54 +00:00
Josh Hursey
dadca7da88 Merging in the jjhursey-ft-cr-stable branch (r13912 : HEAD).
This merge adds Checkpoint/Restart support to Open MPI. The initial
frameworks and components support a LAM/MPI-like implementation.

This commit follows the risk assessment presented to the Open MPI core
development group on Feb. 22, 2007.

This commit closes trac:158

More details to follow.

This commit was SVN r14051.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r13912

The following Trac tickets were found above:
  Ticket 158 --> https://svn.open-mpi.org/trac/ompi/ticket/158
2007-03-16 23:11:45 +00:00
Brian Barrett
01d6121c7f * The MoreBacktrace code supplied by Apple doesn't work on 64 bit Intel
builds, so disable it there
  * On 10.4.8 (and possibly others), siginfo is NULL in the signal
    callback on 64 bit Intel builds, so account for that in the signal
    callback.

This commit was SVN r14045.
2007-03-16 21:27:19 +00:00
Brian Barrett
4e72a8b652 Need to use the right state variable when debugging 64 bit applicatiosn
This commit was SVN r14015.
2007-03-12 18:57:58 +00:00
Tim Prins
fe3ea0085f Fix minor memory leaks
This commit was SVN r13946.
2007-03-07 01:09:38 +00:00
George Bosilca
21f014f5f6 Apply a patch from Bert Wesarg.
This saves some memory for the constructors and destructors arrays of a
class by counting the constructors and destructors while we are counting
the cls_depth. And the reversion of the constructor array can now be done
without an extra loop.

This commit was SVN r13939.
2007-03-06 16:38:06 +00:00
Gleb Natapov
90fb58de4f When frags are allocated from mpool by free_list the frag structure is also
allocated from mpool memory (which is registered memory for RDMA transports)
This is not a problem for a small jobs, but for a big number of ranks an
amount of waisted memory is big.

This commit was SVN r13921.
2007-03-05 14:17:50 +00:00
George Bosilca
36e0e6f074 va_args don't like char. Anyway, all chars get promoted to int
when they go through the ...

This commit was SVN r13878.
2007-03-01 23:26:20 +00:00
George Bosilca
04d84aefb4 Force the Windows registry to be set with a higher
priority than the default value.

This commit was SVN r13877.
2007-03-01 23:25:14 +00:00
George Bosilca
caa1522a22 Don't duplicate the component name for the MCA parameters on Windows when
we read the keys from the registry.

This commit was SVN r13875.
2007-03-01 21:50:27 +00:00
George Bosilca
be24d5d683 Allow guess_strlen to understand %c, as it is now required.
This commit was SVN r13874.
2007-03-01 21:48:31 +00:00
Brian Barrett
75bfb1f0be Make BEGIN_C_DECLS and END_C_DECLS publically available so that they can see
wider use

This commit was SVN r13869.
2007-03-01 17:25:21 +00:00
Josh Hursey
0404444dbe * Added 2 new MCA parameters
- mca_base_param_file_prefix
     (Default: NULL)
     This is the fullname of the "-am" mpirun option. Used to specify a ':'
     separated list of AMCA parameter set files.
  - mca_base_param_file_path
     (Default: $SYSCONFDIR/amca-param-sets/:$CWD)
     The path to search for AMCA files with relative paths. A warning will be
     printed if the AMCA file cannot be found.

* Added a new function "mca_base_param_recache_files" the re-reads the file
configurations. This is used internally to help bootstrap the MCA system.

* Added a new orterun/mpirun command line option '-am' that aliases for the
mca_base_param_file_prefix MCA parameter

* Exposed the opal_path_access function as it is generally useful in other
places in the code.

* New function "opal_cmd_line_make_opt_mca" which will allow you to append a
new command line option with MCA parameter identifiers to set at the same
time. Previously this could only be done at command line declaration time.

* Added a new directory under the $pkgdatadir named "amca-param-sets" where all
the 'shipped with' Open MPI AMCA parameter sets are placed. This is the first
place to search for AMCA sets with relative paths.

* An example.conf AMCA parameter set file is located in
contrib/amca-param-sets/.

* Jeff Squyres contributed an OpenIB AMCA set for benchmarking.

Note: You will need to autogen with this commit as it adds a configure param.
  Sorry :(

This commit was SVN r13867.
2007-03-01 13:39:20 +00:00
Sven Stork
ddff458f3f - this symbol is required by components
This commit was SVN r13850.
2007-02-28 16:38:59 +00:00
Rainer Keller
0889ebd59f - Eliminate warnings, that PGI-6.2.5 issues with -Minform=inform
This commit was SVN r13840.
2007-02-28 08:36:34 +00:00
Sven Stork
d8a369936e - Fix more symbols that should be exported.
This commit was SVN r13824.
2007-02-27 15:17:17 +00:00
Jeff Squyres
f02f8297a7 Minor fix for verbose message when a component is rejected and closed.
This commit was SVN r13807.
2007-02-27 02:07:33 +00:00
Ralph Castain
edcf25e4bb Use OPAL version numbers
This commit was SVN r13728.
2007-02-21 14:32:41 +00:00
Ralph Castain
8022081a85 Cleanup a compiler warning
This commit was SVN r13726.
2007-02-21 14:26:30 +00:00
George Bosilca
386fe713ef Define the windows registry static function only on Windows.
This commit was SVN r13691.
2007-02-16 21:48:02 +00:00
George Bosilca
924224e66d On Windows allow the MCA params to come from the Windows Registry. The keys
are readed recursively, and their name built-up based on the definition
tree.

This commit was SVN r13688.
2007-02-16 18:39:40 +00:00
George Bosilca
77a8a40d6a This function is supposed to be static.
This commit was SVN r13685.
2007-02-16 18:17:50 +00:00
Brian Barrett
4890636581 Work around what appears to be an odd error in the pathscale compiler where
the dispatch function opal_atomic_cmpset_acq_xx was used to call
opal_atomic_cmpset_acq_32  would cause the compiler / linker to fix up a
jump address to be itself, leading to an infinite loop.

We're still looking into exactly what caused this, but during the
investigation into the hang, we determined that the compiler (both pathcc
and gcc) weren't always inlining both the call to opal_atomic_cmpset_acq_xx
and opal_atomic_cmpset_acq_32, meaning there was a function call in
opal_atomic_lock.  The atomic lock will always be 32 bit, so there's no
need for the dispatch function, so might as well remove the dispatch
function that may or may not be inlined.

A bug fix that leads to potentially better performance.  Gotta love the
few times that happens...

This commit was SVN r13651.
2007-02-14 16:57:39 +00:00
Brian Barrett
2a16c094f7 A slightly more correct fix for issues with reordering unlock calls. We want
to flush all writes pending (ie, the data being protected) out of the memory
manager before we write the spinlock unlock. Only need a wmb instead of
full mb, which is at least slightly less intrusive.  Also, after much
thought, no need for a memory barrier in init.

This commit was SVN r13649.
2007-02-14 16:37:31 +00:00
Galen Shipman
7365aeaae2 use memory barriers for lock init and unlock
This commit was SVN r13644.
2007-02-13 21:20:59 +00:00
Brian Barrett
5a3293c0ad The extra includes should prefix the includedir, not the compile-time INCLUDEDIR when creating the -I arguments.
This commit was SVN r13623.
2007-02-12 22:43:50 +00:00
Brian Barrett
68cc044162 Clean up some support issues for platforms that don't have hton / ntoh
This commit was SVN r13615.
2007-02-12 16:29:59 +00:00
George Bosilca
de1cbab1fd Don't complain on 64 bits architectures.
This commit was SVN r13574.
2007-02-09 03:17:02 +00:00
Rainer Keller
38696e8d32 - Check for attributes, after C and C++ have been set up.
- Set ompi-specific autoconf cache-variables
 - Implement one function to check for availability of an
   attribute with the possibility for a cross-check.
 - Do cross-checks for
     __attribute__(format)
     __attribute__(nonnull)
     __attribute__(sentinel)
     __attribute__(warn_unused_result)
 - Grep the compilers warnings for keywords regarding ignored
   attributes.
 - Include also the no_instrument_function

This commit was SVN r13556.
2007-02-08 13:34:44 +00:00
George Bosilca
4439e44179 Be even more Windows friendly.
This commit was SVN r13549.
2007-02-07 22:39:03 +00:00
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