and https://svn.open-mpi.org/trac/ompi/ticket/1853, mallopt() hints do
not always work -- it is possible for memory to be returned to the OS
and therefore OMPI's registration cache becomes invalid.
This commit removes all use of mallopt() and uses a different way to
integrate ptmalloc2 than we have done in the past. In particular, we
use almost exactly the same technique as MX:
* Remove all uses of mallopt, to include the opal/memory mallopt
component.
* Name-shift all of OMPI's internal ptmalloc2 public symbols (e.g.,
malloc -> opal_memory_ptmalloc2_malloc).
* At run-time, use the existing glibc allocator malloc hook function
pointers to fully hijack the glibc allocator with our own
name-shifted ptmalloc2.
* Make the decision whether to hijack the glibc allocator ''at run
time'' (vs. at link time, as previous ptmalloc2 integration
attempts have done). Look at the OMPI_MCA_mpi_leave_pinned
and OMPI_MCA_mpi_leave_pinned_pipeline environment variables and
the existence of /sys/class/infiniband to determine if we should
install the hooks or not.
* As an added bonus, we can now tell if libopen-pal is linked
statically or dynamically, and if we're linked statically, we
assume that munmap intercept support doesn't work.
See the opal/mca/memory/ptmalloc2/README-open-mpi.txt file for all the
gory details about the implementation.
Fixes trac:1853.
This commit was SVN r20921.
The following Trac tickets were found above:
Ticket 1853 --> https://svn.open-mpi.org/trac/ompi/ticket/1853
each page. Anyway, this function is _NEVER_ called as we use bind instead of set.
So please don't rely on the first touch memory affinity to do the right thing.
This commit was SVN r20917.
generate mangled windex files. Made ompi-top.1 and ompi-iof.1 build
by default. Also, added the orte-top synonym to the ompi-top manpage.
This commit was SVN r20915.
MPI_ERR_IN_STATUS to be returned from any functions that return only one completed request
(few exception here: wait_some and wait_all and the test versions). As we use an wait_all
in these send_receive functions we should convert the MPI_ERR_IN_STATUS to the real
error, i.e. the one comming from the MPI_ERROR field in the status corresponding to the
failed request.
This commit was SVN r20907.
after each process create it's FIFOs but before they access the
peer's FIFOs. Second, replace a one way synchronization by a real
barrier, so we know that every process is really where we expect
them to be.
This commit was SVN r20906.
if the opal_buffer_t get reallocated (and it gets). As in all cases
the data in the beginning of the buffer is the one we need, using
relative addresses fixes the problem.
This commit was SVN r20904.
As a safeguard, good coding style should never access directly opal_pointer_array_t->addr or opal_value_array_t->bytes_array. I found another instance of the same bug somewhere else and will commit a separate patch for it.
This commit fixes ticket #1858 and solves user case http://www.open-mpi.org/community/lists/devel/2009/03/5731.php .
Aurelien
This commit was SVN r20903.
linker option when there is no visibility attribute support thus no visible
external variables. This is to get around a Sun Studio compiler version that
doesn't recognize the visibility attribute but recognizes the -xldscope option.
This commit was SVN r20902.
* Ensure we don't try to do opal_list_get_next() on an item we just
deleted
* set myaddrs = NULL when we're done with it, just for good measure
Once this is ported to OMPI v1.3 branch, it fixes
https://bugs.openfabrics.org/show_bug.cgi?id=1579.
This commit was SVN r20896.
get installed for external tools, and they don't need any dependency on our
internal ompi_config.h file. Moreover, this file is crafted in such a way
that there is no need for ompi_config.h.
This commit was SVN r20884.
Add two new configure options that specify:
1. when to add padding to the openib control header - this *only* happens when the configure option is specified
2. when to use the dr-like checksum as opposed to the memcpy checksum. Not selectable at runtime - to eliminate performance impacts, this is a configure-only option
Also removed an unused checksum version from opal/util/crc.h.
The new component still needs a little cleanup and some sync with recent ob1 bug fixes. It was created as a separate module to avoid performance hits in ob1 itself, though most of the code is duplicative. The component is only selectable by either specifying it directly, or configuring with the dr-like checksum -and- setting -mca pml_csum_enable_checksum 1.
Modify the LANL platform files to take advantage of the new module.
This commit was SVN r20846.
expected length of the message) we should use the source and tag from the message header
instead of the value from the status structure attached to the request.
-This line, and those below, will be ignored--
M pml_ob1_recvreq.c
This commit was SVN r20844.
Now, while #include "ompi_config.h" is good and fine in order
to have OMPI_DECLSPEC,
here it led to stdint.h (with the uint8_t) being included early
but INSIDE a namespace "MPI" {}.
Of course it was included anymore (thinkg #define _STDINT_H), when
it was required in opal/class/opal_hash_list.h
NOT good.
- opal/class/opal_object.h: Yeah, one can have nested extern "C" {}
but it's not necessary. Instead just have the outer *_C_DECLS.
This commit was SVN r20837.
The following SVN revision numbers were found above:
r20817 --> open-mpi/ompi@6f808d9b05