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

Reply via email to