Some cleanup.
- Remove an old comment from crcp_base_fns.c - Let ob1 have its very own ft_event function (which I'll fill in shortly) - Make sure ob1 finalizes the bsend stuff so we don't leave a bunch of memory sitting around - PML base - destruct the array upon finalize. Shrink the include search so it stops after finding a match This commit was SVN r14222.
Этот коммит содержится в:
родитель
1705e370d3
Коммит
98fb9f26ef
@ -548,7 +548,6 @@ int ompi_crcp_base_reboot_pml(ompi_crcp_base_pml_state_t* pml_state) {
|
||||
/* Enable the PML */
|
||||
opal_output_verbose(25, ompi_crcp_base_output,
|
||||
"crcp:coord: reboot_pml(): PML Enable");
|
||||
/* JJH RETURN HERE -- mca_bml_r2.btl_modules is corrupted. I bet it is not removed properly....*/
|
||||
if( OMPI_SUCCESS != (ret = MCA_PML_CALL(enable(true)) ) ) {
|
||||
error_msg = "PML control failed";
|
||||
return_code = ret;
|
||||
|
@ -41,6 +41,8 @@ int mca_pml_base_close(void)
|
||||
mca_pml_base_selected_component.pmlm_finalize();
|
||||
}
|
||||
|
||||
OBJ_DESTRUCT(&mca_pml_base_pml);
|
||||
|
||||
/* Close all remaining available modules (may be one if this is a
|
||||
OMPI RTE program, or [possibly] multiple if this is ompi_info) */
|
||||
|
||||
|
@ -207,6 +207,8 @@ mca_pml_base_modex_finalize(void)
|
||||
OBJ_RELEASE(item);
|
||||
OBJ_DESTRUCT(&mca_pml_base_modex_subscriptions);
|
||||
|
||||
OBJ_DESTRUCT(&mca_pml_base_modex_lock);
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -86,6 +86,7 @@ int mca_pml_base_select(bool enable_progress_threads,
|
||||
if(0 == strncmp(component->pmlm_version.mca_component_name,
|
||||
tmp_val, strlen(component->pmlm_version.mca_component_name)) ) {
|
||||
found_pml = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -56,7 +56,7 @@ mca_pml_ob1_t mca_pml_ob1 = {
|
||||
mca_pml_ob1_probe,
|
||||
mca_pml_ob1_start,
|
||||
mca_pml_ob1_dump,
|
||||
mca_pml_base_ft_event,
|
||||
mca_pml_ob1_ft_event,
|
||||
32768,
|
||||
INT_MAX
|
||||
}
|
||||
@ -374,3 +374,54 @@ void mca_pml_ob1_error_handler(
|
||||
int32_t flags) {
|
||||
orte_errmgr.abort();
|
||||
}
|
||||
|
||||
int mca_pml_ob1_ft_event( int state )
|
||||
{
|
||||
int ret;
|
||||
|
||||
opal_output(0, "pml:base: ft_event: Called (%d)!!\n", state);
|
||||
|
||||
if(OPAL_CRS_CHECKPOINT == state) {
|
||||
;
|
||||
}
|
||||
else if(OPAL_CRS_CONTINUE == state) {
|
||||
;
|
||||
}
|
||||
else if(OPAL_CRS_RESTART == state) {
|
||||
;
|
||||
}
|
||||
else if(OPAL_CRS_TERM == state ) {
|
||||
;
|
||||
}
|
||||
else {
|
||||
;
|
||||
}
|
||||
|
||||
/* Call the BML
|
||||
* BML is expected to call ft_event in
|
||||
* - BTL(s)
|
||||
* - MPool(s)
|
||||
*/
|
||||
if( OMPI_SUCCESS != (ret = mca_bml.bml_ft_event(state))) {
|
||||
opal_output(0, "pml:base: ft_event: BML ft_event function failed: %d\n",
|
||||
ret);
|
||||
}
|
||||
|
||||
if(OPAL_CRS_CHECKPOINT == state) {
|
||||
;
|
||||
}
|
||||
else if(OPAL_CRS_CONTINUE == state) {
|
||||
;
|
||||
}
|
||||
else if(OPAL_CRS_RESTART == state) {
|
||||
;
|
||||
}
|
||||
else if(OPAL_CRS_TERM == state ) {
|
||||
;
|
||||
}
|
||||
else {
|
||||
;
|
||||
}
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
@ -216,6 +216,10 @@ extern int mca_pml_ob1_start(
|
||||
ompi_request_t** requests
|
||||
);
|
||||
|
||||
extern int mca_pml_ob1_ft_event(
|
||||
int state
|
||||
);
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
@ -223,6 +223,11 @@ int mca_pml_ob1_component_close(void)
|
||||
if(OMPI_SUCCESS != (rc = mca_bml_base_close()))
|
||||
return rc;
|
||||
|
||||
/* buffered send */
|
||||
if(OMPI_SUCCESS != (rc = mca_pml_base_bsend_fini())) {
|
||||
return rc;
|
||||
}
|
||||
|
||||
OBJ_DESTRUCT(&mca_pml_ob1.pckt_pending);
|
||||
OBJ_DESTRUCT(&mca_pml_ob1.send_pending);
|
||||
OBJ_DESTRUCT(&mca_pml_ob1.recv_pending);
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user