Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] RFC: silently allow component open() to fail
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2010-01-07 15:03:04


WHAT: Make the MCA base not print an error message when a component.open() function returns OPAL_ERR_NOT_AVAILABLE.

WHY: There's currently no silent way for a component to disqualify itself during component.open().

WHERE: opal/mca/base/mca_base_components.c

WHEN: "Soon"

TIMEOUT: Next Tuesday teleconf, 12 Jan 2009 (short timeout because I don't expect this to be controverial)

-----

I'm bringing this up because technically this is in the very core of the MCA loading process, so it should go by a few other eyes instead of just committing it. That being said, it's a pretty simple thing.

The rationale here is that some components may know right away during their component register or open functions that they want to be disqualified from the entire process. In the code today, however, if any component register or open function returns != OPAL_SUCCESS, an error message is printed, like this:

    [hostname:pid] mca: base: components_open: component btl / foo open function failed

But I think that there *are* cases where a component can know that it wants to disqualify itself right away, and therefore it should be able to return some sort of sentinel value from component.register() or component.open() that indicates "just go ahead and silently disqualify / discard me now".

I came across this case in the merge of the ummunotify stuff with the ptmalloc2 component. It's quite possible that, at run time, the component will determine that neither of those mechanisms are available, and therefore it wants to disqualify itself (it'll know this during component.open()). Right now, there's no way to do so without causing an error message. My proposal fixes this case.

I don't think that this is a big deal; I just wanted other people to eyeball it and ensure I'm not proposing anything insane.

-- 
Jeff Squyres
jsquyres_at_[hidden]