change some of the ompi_circular buffer fifo's to provide
functionality needed for this. Reviewed by Ralph and Denis.
ompi_fifo.h not yet tested.
This commit was SVN r2283.
os/atomic.h --> include/sys/atomic.h
WARNING: There are almost certainly some bugs introduced here, but I
believe that using this system will get us to a stable and portable
library faster in the long run.
Other changes:
threads/mutex
Reorganized to use pthreads or asm atomic operations as available.
Untested Windows implementation added using InterlockedExchange() funcion.
threads/thread
Added an untested Windows implementation
other places
Updates to include the "right" header files or to use
ompi_atomic_add_int() rather that fetchNadd() etc.
This commit was SVN r2221.
- added ompi_list_splice and ompi_list_join, which are multi-list
manipulation functions similar to the splice functions in the STL
list interface
- added ompi_list_is_empty() for O(1) testing of for an empty list
- added note that sometime in the future, ompi_list_get_size() may
change to O(N) complexity. DID NOT CHANGE THE FUNCTION IN ANY WAY.
If you are writing new code that needs to check for an empty list, please
use ompi_list_is_empty() rather than ompi_list_get_size() as is_empty()
will always be an O(1) operation (I can't see how you could make it
impossible to make it O(1), so this seems like a safe claim).
This commit was SVN r2186.
code base.
- many (most) mca type names have "component" or "module" in them,
as relevant, just to further distinguish the difference between
component data/actions and module data/actions. All developers
are encouraged to perpetuate this convention when you create
types that are specific to a framework, component, or module
- did very little to entire framework (just the basics to make it
compile) because it's just about to be almost entirely replaced
- ditto for io / romio
- did not work on elan or ib components; have to commit and then
convert those on a different machine with the right libraries and
headers
- renamed a bunch of *_module.c files to *_component.c and *module*c
to *component*c (a few still remain, e.g., ptl/ib, ptl/elan, etc.)
- modified autogen/configure/build process to match new filenames
(e.g., output static-components.h instead of static-modules.h)
- removed DOS-style cr/lf stuff in ns/ns.h
- added newline to end of file src/util/numtostr.h
- removed some redundant error checking in the top-level topo
functions
- added a few {} here and there where people "forgot" to put them in
for 1 line blocks ;-)
- removed a bunch of MPI_* types from mca header files (replaced with
corresponding ompi_* types)
- all the ptl components had version numbers in their structs; removed
- converted a few more elements in the MCA base to use the OBJ
interface -- removed some old manual reference counting kruft
This commit was SVN r1830.
- moved pml_base_send_request_t allocation to pml - provide capability to cache
requests on per ptl basis - and provide hooks for ptl to init/cleanup ptl
specific data cached on the request
- renamed request/fragment super fields
- added ptl_send i/f which is called by pml for the first fragment, the
ptl_put i/f is called for subsequent fragments of the same request
This commit was SVN r1745.
- moved mem/free_list.h to class/ompi_free_list.h
- moved mem/malloc.h to util/malloc.h
- added src/mca/mpool component type
This commit was SVN r1274.