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
[email protected]