WHAT: Add MCA base component parameter registration function
WHY:
a) The component "open" function has been overloaded as the MCA
component parameter registration function; we've long talked about
fixing this
b) mca_base_component_t is already changing for v1.3 for the FT stuff;
since this is the core struct for *all* components, it would be good
to change this struct *once* (vs. once for v1.3 and then again for v1.4)
WHERE: mca.h, the MCA base component open functions, and at least 1 or
2 components for testing purposes
WHEN: before v1.3
TIMEOUT: Friday, 25 July 2008
-------------------------------------
We've long-since talked about how the MCA component "open" function
was incorrectly overloaded to be components' MCA parameter
registration functions. We've also long-since talked about splitting
"open" into two functions: the [real] open function, and the component
MCA parameter registration function.
Such a change, for example, would allow ompi_info to only call the
parameter registration function -- not the open function (because open
is allowed to reserve resources).
For v1.3, we propose adding this registration function to
mca_base_component_t and converting a small number of components to
use it (just for testing purposes). The main idea here is that the
mca_base_component_t struct stuff already changed for v1.3 for FT
stuff; it would be good to get in all foreseeable changes for v1.3 so
that we don't have to change it again for v1.4.
Specifically: we know we want the MCA param registration function
split out, so let's add that function for v1.3 and make it backwards
compatible (e.g., call both the registration and open functions if
they are !=NULL). For v1.4, do a full-scale conversion of all
components and make ompi_info properly take advantage of the new
parameter registration function.
--
Jeff Squyres
Cisco Systems