On Thu, 28 Feb 2008, Gleb Natapov wrote: > The trick is to call progress only from functions that are called > directly by a user process. Never call progress from a callback functions. > The main offenders of this rule are calls to OMPI_FREE_LIST_WAIT(). They > should be changed to OMPI_FREE_LIST_GET() and dial with NULL return value.
Right -- and it should be easy to find more offenders by having an assert statement soak in the builds for a while (or by default in debug mode). Was if it was ever part of the (or a) design to allow re-entrant calls to progress from the same calling thread ? It can be done but callers have to have a holistic view of how other components require and make the progress happen -- this isn't compatible with the Open MPI model of independent dynamically loadable components. -- christian.b...@qlogic.com (QLogic Host Solutions Group, formerly Pathscale)