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

21978 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
b207736170 openmpi-nightly-coverity: use far simpler version of safe_system()
The previous safe_system() is quite thorough, but much more than we
really need in this script.  Use a far simpler version that is
significantly easier to maintain.

Also log some of the critical steps that a human can examine the
output upon a failure (e.g., when the failure happens when launched
via cron).

Finally, set the version number to not include "openmpi-", because
Coverity has a limited-width display of the version number.
2015-02-14 10:12:51 -05:00
Jeff Squyres
b27ba475ef oshmem java: really abort in bad situations
The previous condition just called assert(), which is a no-op in
non-debug builds.  Change it to print a message and then call abort()
to really actually above.

This was CID 1270155.
2015-02-14 07:07:01 -08:00
Jeff Squyres
dfd21e465d openmpi-nightly-tarball.sh: only coverity analyze master (for now) 2015-02-14 08:39:55 -05:00
Jeff Squyres
2ca14acaf0 libfabric: add missing files into Makefile.am 2015-02-14 05:01:29 -08:00
Jeff Squyres
5da123da7c ofi: change mtl_ofi_provider to level 4
Seems more appropriate; this is a variable that a tuner might want to
actually set.
2015-02-13 14:46:05 -08:00
Jeff Squyres
955d8b7525 usnic: adapt for new libfabric API 2015-02-13 14:44:23 -08:00
Jeff Squyres
3abebe7251 libfabric: update to ofiwg/libfabric@06fdfbef98 2015-02-13 14:44:06 -08:00
Nathan Hjelm
c203ea29aa Merge pull request #339 from hjelmn/btl_3_0
BTL 3.0
2015-02-13 12:03:57 -07:00
Nathan Hjelm
1162093d34 btl/scif: fix debug build
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:39 -07:00
Jeff Squyres
67ee1e6cf8 usnic: restore compatibilty between master and v1.8
Add the functions that changed between BTL 2.0 and 3.0 into compat.h
and compat.c:

* module.btl_prepare_src: the signature and body of this method
  changed between 2.0 and 3.0.  However, the functions that this
  method calls did *not* need to change, so they are copied over
  wholesale (with the exception that they no longer accept the unused
  `registration` parameter).
* module.btl_prepare_dst: this method does not exist in BTL 3.0.
* module.btl_put: the signature and body of this method changed
  between 2.0 and 3.0.
2015-02-13 11:46:38 -07:00
Jeff Squyres
ad841d7ba3 usnic: update to BTL 3.0 2015-02-13 11:46:38 -07:00
Jeff Squyres
0a5fd8e36a usnic: update README for new BTL 3.0 scheme details 2015-02-13 11:46:38 -07:00
Jeff Squyres
cf99f0c905 usnic: just add comments/explanations -- no code changes 2015-02-13 11:46:38 -07:00
Jeff Squyres
af61065b87 usnic: minor update of member field names 2015-02-13 11:46:38 -07:00
Jeff Squyres
8311428602 btl.h: whitespace cleanup
No code changes
2015-02-13 11:46:38 -07:00
Jeff Squyres
7971fd57f0 btl.h: add more description for reg/dereg functions 2015-02-13 11:46:38 -07:00
Nathan Hjelm
16ae7d97d1 spml/yoda: update for BTL 3.0 interface
This commit make spml/yoda compatible with BTL 3.0. This is meant as a
starting point only. More work will be needed to make optimial use of
the new interface.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:38 -07:00
Nathan Hjelm
a3b739d117 btl/ugni: use pthread_join to wait on progress thread completion
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:38 -07:00
Nathan Hjelm
953efc3eb2 btl/openib: fix compilation issues with XRC
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:38 -07:00
Nathan Hjelm
a9763e123d add btl comment
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:38 -07:00
Nathan Hjelm
4bf7a207e9 bml/r2: add all rdma btls even if another btl has higher exclusivity
Background: In order to support atomics each btl needs to provide support
for communicating with self unless the btl module can guarantee global
atomicity. Before this commit bml/r2 discarded any BTL with lower
exclusivity than an existing send btl. This would cause the BML to
discard any btl other than self.

The new behavior is as follows:

 - If an exisiting send btl has higher exclusivity then the btl will not be
   added to the send btl list for the endpoint.

 - If a btl provides RDMA support then it is always added to the rdma btl
   list.

 - bml_btl weight for send btls is now calculated across all send btls.

 - bml_btl weight for rdma btls is now calculated across all rdma btls.

With this change self should still win as the only send btl for loopback
without disqualifying other btls (ugni, openib) for atomic operations.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
3847025540 pml/ob1: when using btl_get try to register the entire region before attempting to break the get into multiple rdma fragments
A little background. Historically ob1 always registered the entire memory
region when the RGET protocol was in use. This changed when Mellanox
added support to fragment RGET using the btl_prepare_dst function. Now
that the BTL layer has changed to split out the limits of get/put there
is explicit fragmentation code in ob1. Before this commit the registration
was still done per RGET fragment.

This commit will attempt to register the entire region before creating
RGET fragments. If the registration is successfull then all RGET
fragments will use this registration otherwise they will each attempt
to register their own segment of the receive buffer. If that fails
enough times each fragment will give up and fall back on send/recv.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
868e10caf2 pml/bfo: ompi ignore until updated for BTL 3.0 interface
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
c4a0e02261 pml/ob1: update for BTL 3.0 interface
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
44fb8369ff opal/convertor: add a function to get the pointer for an offset (instead of the current offset)
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
9285e2c356 bml: update for BTL 3.0 interface
This commit brings the bml framework up to date with BTL 3.0 interface.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
1e518504e4 btl/smcuda: update for BTL 3.0 interface 2015-02-13 11:46:37 -07:00
Nathan Hjelm
aba0675fe7 btl/vader: update for BTL 3.0 interface
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
f8ac3fb1e8 btl/ugni: add support for atomic operations
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
655604f509 btl/ugni: update for BTL 3.0 interface
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
4972d97b8b btl/template: update for BTL 3.0 interface
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
Nathan Hjelm
f241b6e0a7 btl/tcp: update for BTL 3.0 interface
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:36 -07:00
Nathan Hjelm
25176cad27 btl/sm: update for BTL 3.0 interface
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:36 -07:00
Nathan Hjelm
19abc19ad9 btl/self: update for BTL 3.0 interface
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:36 -07:00
Nathan Hjelm
f96d48a2e1 btl/scif: update for BTL 3.0 interface
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:36 -07:00
Nathan Hjelm
cf91156105 btl/openib: add atomic operation support
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:36 -07:00
Nathan Hjelm
74f1af4548 btl/openib: update for BTL 3.0 interface
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:36 -07:00
Nathan Hjelm
fc7397949c btl: require that btls handle descriptor = NULL in the btl_sendi function
The send inline optimization uses the btl_sendi function to achieve lower
latency and higher message rates. Before this commit BTLs were allowed to
assume the descriptor was non-NULL and were expected to return a valid
descriptor if the send could not be completed using btl_sendi. This
behavior was fine until the usage of btl_sendi was changed in ob1. This
commit allows the caller to specify NULL for the descriptor. The affected
btls have been updated to handle this case.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:36 -07:00
Nathan Hjelm
593f97ae92 btl: add support for 64-bit atomic operations
This commit adds an interface for btl's to export support for 64-bit atomic
operations on integers. BTL's that can support atomic operations should
implement these functions and set the appropriate btl_flags and btl_atomic_flags.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:36 -07:00
Nathan Hjelm
f8e15ca83d Update the interface to provide a cleaner interface for RDMA operations.
The old BTL interface provided support for RDMA through the use of
the btl_prepare_src and btl_prepare_dst functions. These functions were
expected to prepare as much of the user buffer as possible for the RDMA
operation and return a descriptor. The descriptor contained segment
information on the prepared region. The btl user could then pass the
RDMA segment information to a remote peer. Once the peer received that
information it then packed it into a similar descriptor on the other
side that could then be passed into a single btl_put or btl_get
operation.

Changes:

 - Added functions to register and deregister memory regions with the
   btl. If no registration is needed a btl should set these function
   pointers to NULL. These function take over for btl_prepare_src/dst
   and btl_free for RDMA operations. The caller should specify the
   maximum permissions needed on the memory.

 - Changed the function signatures for both btl_put and btl_get. In
   place of a prepared descriptor the caller should provide the source
   and destination addresses and registration handles as well as a
   new callback function. The callback will be provided with the local
   address and registration handle, callback context, callback data, and
   status. See mca_btl_base_rdma_completion_fn_t in btl.h.

 - Added a new btl constraint: MCA_BTL_REG_HANDLE_MAX_SIZE. This
   value specifies the maximum size of any btl's registration handle.

 - Removed the btl_prepare_dst function. This reflects the fact that
   RDMA operations no longer depend on "prepared" descriptors.

 - Removed the btl_seg_size member. There is no need to btl's to
   subclass the mca_btl_base_segment_t class anymore.

 - Expose the btl's put/get limitations with new struct members:
   btl_put_limit, btl_put_alignment, btl_get_limit, btl_get_alignment.

 - Remove the mca_mpool_base_registration_t argument from the btl_prepare_src
   function. The argument was intended to support RDMA operations and is no
   longer necessary.

 - Remove des_remote/des_remote_count from the mca_btl_base_descriptor_t
   structure. This structure member was originally used to specify the remote
   segment for RDMA operations. Since the new btl interface no longer uses
   desriptors for RDMA this member no longer has a purpose. In addition
   to removing these members the local segment structure fields have been
   renamed to from des_local/des_local_count to des_segments/des_segment_count.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:36 -07:00
Howard Pritchard
6a275f4489 Merge pull request #395 from hppritcha/topic/pmix_cray_kvs
pmix/cray: remove workaround for OBJ_RELEASE
2015-02-13 11:25:50 -07:00
Jeff Squyres
2ce422ceed openmpi-nightly-tarball.sh: go to "verbose" instead of "debug"
Now that the Coverity submit seems to be working, dial back the
cron-generated output to "verbose" instead of "debug".
2015-02-13 11:08:45 -05:00
Jeff Squyres
d2261fa9c6 coverity: move script to build-server directory
Move the openmpi-nightly-coverity.pl script into the directory where
all the other build server scripts live.

Leave the coverity-model.c file in the coverity dir, because it's
specific to coverity.  Other items can be added into the
coverity-model.c, if helpful (and then we can re-submit that model
file).
2015-02-13 11:07:11 -05:00
Howard Pritchard
bd9d185951 pmix/cray: remove workaround for OBJ_RELEASE
Per feedback from rhc, manually set the base_ptr member
of the opal_buffer_t variable to NULL prior to calling
OBJ_RELEASE.  A similar feature of opal_dss.load also
exists so likewise reset the base_ptr to NULL prior to
invoking it.

Hopefully the opal_buffer_t struct does not change
frequently.

Minor cleanups to reduce output when pmix_base_verbose
mca paramater is set.
2015-02-13 07:47:26 -08:00
Jeff Squyres
4fdea4617c nightly tarballs: update coverity CLI params
Ensure to build support for:

* usnic
* PSM
* MXM
* OSHMEM
* Fortran (MPI and OSHMEM)
* Java (MPI and OSHMEM)

So that the OMPI code for all of these networks can be analyzed by
Coverity.

build moar stuff -- squashme
2015-02-13 09:31:49 -05:00
Jeff Squyres
2a92e6cb0d nightly-coverity.pl: fix curl submission arguments 2015-02-13 07:08:51 -05:00
Gilles Gouaillardet
ca3a275823 opal/util: fix misc memory leaks reported by Coverity
fixes CID 996174, 996920, 1196735, 1196769 and 1196770
2015-02-13 14:28:59 +09:00
Gilles Gouaillardet
b68e1cd579 ompio: fix memory leaks reported by Coverity scan
and silence CID 72195
2015-02-13 13:18:44 +09:00
Nathan Hjelm
0e822e03f7 osc/sm: always release the lock on MPI_Unlock
When a lock was obtained with MPI_MODE_NOCHECK it was not correctly
release on unlock. This is an error.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-12 18:54:22 -07:00
Jeff Squyres
9bd48f19c4 openmpi-nightly-tarball: also run/submit coverity results 2015-02-12 19:44:20 -05:00