Fix a convertion problem and add a comment about the lack of component
retain in the new component infrastructure. Clean Makefile.am to fix "make distcheck". Update the gitignore rules.
Этот коммит содержится в:
родитель
80343a0d39
Коммит
4f88c82500
2
.gitignore
поставляемый
2
.gitignore
поставляемый
@ -590,6 +590,8 @@ test/event/signal-test
|
|||||||
test/event/event-test
|
test/event/event-test
|
||||||
test/event/time-test
|
test/event/time-test
|
||||||
|
|
||||||
|
test/monitoring/monitoring_test
|
||||||
|
|
||||||
test/mpi/environment/chello
|
test/mpi/environment/chello
|
||||||
|
|
||||||
test/runtime/parse_context
|
test/runtime/parse_context
|
||||||
|
@ -14,10 +14,7 @@ monitoring_sources = \
|
|||||||
pml_monitoring.c \
|
pml_monitoring.c \
|
||||||
pml_monitoring.h \
|
pml_monitoring.h \
|
||||||
pml_monitoring_comm.c \
|
pml_monitoring_comm.c \
|
||||||
pml_monitoring_comm.h \
|
|
||||||
pml_monitoring_component.c \
|
pml_monitoring_component.c \
|
||||||
pml_monitoring_component.h \
|
|
||||||
pml_monitoring_hdr.h \
|
|
||||||
pml_monitoring_iprobe.c \
|
pml_monitoring_iprobe.c \
|
||||||
pml_monitoring_irecv.c \
|
pml_monitoring_irecv.c \
|
||||||
pml_monitoring_isend.c \
|
pml_monitoring_isend.c \
|
||||||
@ -31,7 +28,7 @@ component_noinst = libmca_pml_monitoring.la
|
|||||||
component_install =
|
component_install =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
mcacomponentdir = $(pkglibdir)
|
mcacomponentdir = $(ompilibdir)
|
||||||
mcacomponent_LTLIBRARIES = $(component_install)
|
mcacomponent_LTLIBRARIES = $(component_install)
|
||||||
mca_pml_monitoring_la_SOURCES = $(monitoring_sources)
|
mca_pml_monitoring_la_SOURCES = $(monitoring_sources)
|
||||||
mca_pml_monitoring_la_LDFLAGS = -module -avoid-version
|
mca_pml_monitoring_la_LDFLAGS = -module -avoid-version
|
||||||
|
@ -94,8 +94,8 @@ int mca_pml_monitoring_add_procs(struct ompi_proc_t **procs,
|
|||||||
if( procs[i] == ompi_proc_local_proc)
|
if( procs[i] == ompi_proc_local_proc)
|
||||||
my_rank = i;
|
my_rank = i;
|
||||||
key = *((uint64_t*)&(procs[i]->super.proc_name));
|
key = *((uint64_t*)&(procs[i]->super.proc_name));
|
||||||
/* store the rank (in COMM_WORLD) of the process
|
/* store the rank (in COMM_WORLD) of the process
|
||||||
with its name (a uniq opal ID) as key in the hash table*/
|
with its name (a uniq opal ID) as key in the hash table*/
|
||||||
opal_hash_table_set_value_uint64(translation_ht,
|
opal_hash_table_set_value_uint64(translation_ht,
|
||||||
key,
|
key,
|
||||||
(void*)(uintptr_t)i);
|
(void*)(uintptr_t)i);
|
||||||
|
@ -38,8 +38,11 @@ int filter_monitoring( void )
|
|||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
union {
|
||||||
|
unsigned long ulong;
|
||||||
|
int (*fct)(char*);
|
||||||
|
} hidden_fct = { .fct = ompi_mca_pml_monitoring_flush };
|
||||||
|
|
||||||
static unsigned long hidden_fct = (unsigned long)((void*)ompi_mca_pml_monitoring_flush);
|
|
||||||
int mca_pml_monitoring_enable(bool enable)
|
int mca_pml_monitoring_enable(bool enable)
|
||||||
{
|
{
|
||||||
/* If we reach this point we were succesful at hijacking the interface of
|
/* If we reach this point we were succesful at hijacking the interface of
|
||||||
@ -51,7 +54,7 @@ int mca_pml_monitoring_enable(bool enable)
|
|||||||
MCA_BASE_VAR_TYPE_UNSIGNED_LONG, NULL, 0, 0,
|
MCA_BASE_VAR_TYPE_UNSIGNED_LONG, NULL, 0, 0,
|
||||||
OPAL_INFO_LVL_1,
|
OPAL_INFO_LVL_1,
|
||||||
MCA_BASE_VAR_SCOPE_CONSTANT,
|
MCA_BASE_VAR_SCOPE_CONSTANT,
|
||||||
&hidden_fct);
|
&hidden_fct.ulong);
|
||||||
return pml_selected_module.pml_enable(enable);
|
return pml_selected_module.pml_enable(enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,9 +88,17 @@ static int mca_pml_monitoring_component_close(void)
|
|||||||
mca_pml_base_selected_component = mca_pml_monitoring_component;
|
mca_pml_base_selected_component = mca_pml_monitoring_component;
|
||||||
mca_pml = mca_pml_monitoring;
|
mca_pml = mca_pml_monitoring;
|
||||||
mca_pml.pml_progress = pml_selected_module.pml_progress;
|
mca_pml.pml_progress = pml_selected_module.pml_progress;
|
||||||
|
#if 0
|
||||||
|
/**
|
||||||
|
* With the new design of the component infrastructure we lost the capability to
|
||||||
|
* mark components as non removable by increasing their internal reference count.
|
||||||
|
* Until we bring this functionality back, the monitoring PML will only work
|
||||||
|
* if dlclose is acting lazily.
|
||||||
|
*/
|
||||||
/* Bump my ref count up to avoid getting released too early */
|
/* Bump my ref count up to avoid getting released too early */
|
||||||
mca_base_component_repository_retain_component(mca_pml_monitoring_component.pmlm_version.mca_type_name,
|
mca_base_component_repository_retain_component(mca_pml_monitoring_component.pmlm_version.mca_type_name,
|
||||||
mca_pml_monitoring_component.pmlm_version.mca_component_name);
|
mca_pml_monitoring_component.pmlm_version.mca_component_name);
|
||||||
|
#endif
|
||||||
mca_pml_monitoring_active = 1;
|
mca_pml_monitoring_active = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user