This required a little fiddling with a number of areas. Biggest problem was that it uncovered a potential for an infinite loop to be created in the registry. If a callback function modified the registry, the registry checked the triggers to see if anything had fired. Well, if the original callback was due to a trigger firing, that condition hadn't changed - so the trigger fired again....which caused the callback to be called, which modified the registry, which checked the triggers, etc. etc.
Triggers are now checked and then "flagged" as being "in process" so that the registry will NOT recheck that trigger until all callbacks have been processed. Tried doing this with subscriptions as well, but that caused a problem - when we release processes from a stagegate, they (at the moment) immediately place data on the registry that should cause a subscription to fire. Unfortunately, the system will just hang if that subscription doesn't get processed. So, I have left the subscription system alone - any callback function that modifies the registry in a fashion that will fire a subscription will indeed fire that subscription. We'll have to see if this causes problems - it shouldn't, but a careless user could lock things up if the callback generates a callback to itself.
Also fixed the code that placed a process' RML contact info on the registry to eliminate the leading '/' from the string.
This commit was SVN r6684.
* add btl back into ompi_info. Since it now directly calls the
open/close, the missing symbol problems Ralph was seeing when ob1 is
ignored will not occur.
This commit was SVN r6652.
support in OMPI. Currently only enables/disables the architecture
sharing modex in ob1 pml.
* Add sds framework to ompi_info
* Figure out table ids to use for Portals BTL at configure time, since
we should use 30 & 31 on Red Storm, but the reference implementation
only supports 0-8.
* Some bug fixes in Portals UTCP sds
This commit was SVN r6650.
- only call sched_yield if it exists
- don't fail out if modex doens't work in ob1
- bunch of fixes for Portals BTL
- add cnos rml component
- add NULL gpr component (should only be used if replica AND proxy
fail to load)
This commit was SVN r6629.
Any non-blocking P2P function should set the request to something else
then MPI_REQUEST_NULL, when passed a source/dest of MPI_PROC_NULL.
Introduce a new ompi_request_empty, which returns the
MPI_SOURCE=MPI_PROC_NULL, MPI_TAG=MPI_ANY_TAG, count=0 as specified by
the MPI-standard.
This commit was SVN r6611.
* remove the recv fragment code, since it really isn't needed
* handle memory descriptor binding a bit more sanely, and use
thresholds so that Portals does the unlink for us, when it feels
like it.
This commit was SVN r6575.