overhead to the critical path - but ensures buffer reference counts are released
when requests are not released by the application
This commit was SVN r5311.
ompi_mpi_init(): we no longer *query* the components to see what they
can support -- instead, we *tell* the components what they need to
support (if they can't support it, they should disqualify themselves
from selection).
This involved a bunch of things:
- pass the configure-time-decided OMPI_ENABLE_PROGRESS_THREADS and
OMPI_ENABLE_MPI_THREADS constants to each framework selection
function
- eliminate mca_base_init_select_components()
- eliminate all "allow_multi_user_threads" and "have_hidden_threads"
kinds of arguments and aggregation from various framework selection
and component/module functions
- correctly determine the max MPI thread level that we can support and
limit the final MPI thread level as appropriate during
ompi_mpi_init()
As a side effect, while editing nearly every MPI component I also did
the following:
- found 2 places (gm and ib ptls) where ompi_set_using_threads() was
erroneously being called (I think this is left over kruft from
misunderstandings by the original authors). I removed these.
This commit was SVN r5055.
--------
1. malloc casts to the right pointers
2. function parameter casts in the components (eg., recv requires a (char *) typecast
else cL compiler barfs)
3. added my own errno indirection. this is only in oob/tcp module. ompi_errno is #defined
ro errno in unix land and to a function ompi_get_error which returns the equivalent
error code.
4. implemented our own fcntl to prevent spaghetti coding. this currently only takes
F_GETFL and F_SETFL arguments, does nothing on F_GETFL and sets the nonblocking
option on F_SETFL
5. Moved some extern declarations to global scope since the CL compiler does not do
the right things if they are declared and used in static inline functions.
6. Protection around some header files. changed sys/errno to errno.
7. defined in_proto_t (unsigned uint16_t) to DWORD ... comments are welcome
This commit was SVN r3394.
- for threaded case - cleanup event libraries progress thread
- cleanup of request handling for persistent sends
- added support for buffered sends
This commit was SVN r1461.