Add CPPFLAGS to build of rml/ofi component.
Fix finalize to ensure we only destruct the msg queue list once. Update platform file Signed-off-by: Ralph Castain <rhc@open-mpi.org>
Этот коммит содержится в:
родитель
f827b6b8dd
Коммит
9f8f7f3189
@ -20,6 +20,9 @@ enable_io_romio=no
|
|||||||
enable_contrib_no_build=libnbc
|
enable_contrib_no_build=libnbc
|
||||||
with_memory_manager=no
|
with_memory_manager=no
|
||||||
with_tm=no
|
with_tm=no
|
||||||
|
with_psm=no
|
||||||
|
with_psm2=no
|
||||||
|
with_libfabric=/home/common/libfabric/build
|
||||||
with_devel_headers=yes
|
with_devel_headers=yes
|
||||||
with_portals=no
|
with_portals=no
|
||||||
with_valgrind=no
|
with_valgrind=no
|
||||||
|
@ -1 +1,2 @@
|
|||||||
anandhis
|
anandhis
|
||||||
|
rhc
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
# Copyright (c) 2004-2005 The Regents of the University of California.
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
# Copyright (c) 2015 Intel, Inc. All rights reserved
|
# Copyright (c) 2015-2017 Intel, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
||||||
@ -18,6 +18,8 @@
|
|||||||
# $HEADER$
|
# $HEADER$
|
||||||
#
|
#
|
||||||
|
|
||||||
|
AM_CPPFLAGS = $(opal_common_libfabric_CPPFLAGS)
|
||||||
|
|
||||||
sources = \
|
sources = \
|
||||||
rml_ofi.h \
|
rml_ofi.h \
|
||||||
rml_ofi_request.h \
|
rml_ofi_request.h \
|
||||||
@ -39,15 +41,9 @@ endif
|
|||||||
mcacomponentdir = $(ortelibdir)
|
mcacomponentdir = $(ortelibdir)
|
||||||
mcacomponent_LTLIBRARIES = $(component_install)
|
mcacomponent_LTLIBRARIES = $(component_install)
|
||||||
mca_rml_ofi_la_SOURCES = $(sources)
|
mca_rml_ofi_la_SOURCES = $(sources)
|
||||||
mca_rml_ofi_la_LDFLAGS = \
|
mca_rml_ofi_la_LDFLAGS = -module -avoid-version
|
||||||
$(orte_rml_ofi_LDFLAGS) \
|
mca_rml_ofi_la_LIBADD = $(OPAL_TOP_BUILDDIR)/opal/mca/common/libfabric/lib@OPAL_LIB_PREFIX@mca_common_libfabric.la
|
||||||
-module -avoid-version
|
|
||||||
mca_rml_ofi_la_LIBADD = $(orte_rml_ofi_LIBS) \
|
|
||||||
$(OPAL_TOP_BUILDDIR)/opal/mca/common/libfabric/lib@OPAL_LIB_PREFIX@mca_common_libfabric.la
|
|
||||||
|
|
||||||
noinst_LTLIBRARIES = $(component_noinst)
|
noinst_LTLIBRARIES = $(component_noinst)
|
||||||
libmca_rml_ofi_la_SOURCES = $(sources)
|
libmca_rml_ofi_la_SOURCES = $(sources)
|
||||||
libmca_rml_ofi_la_LDFLAGS = \
|
libmca_rml_ofi_la_LDFLAGS = -module -avoid-version
|
||||||
$(orte_rml_ofi_LDFLAGS) \
|
|
||||||
-module -avoid-version
|
|
||||||
libmca_rml_ofi_la_LIBADD = $(orte_rml_ofi_LIBS)
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015-2016 Intel, Inc. All rights reserved.
|
* Copyright (c) 2015-2017 Intel, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -173,7 +173,6 @@ void free_ofi_prov_resources( int ofi_prov_id)
|
|||||||
orte_rml_ofi.ofi_prov[ofi_prov_id].fabric_info = NULL;
|
orte_rml_ofi.ofi_prov[ofi_prov_id].fabric_info = NULL;
|
||||||
orte_rml_ofi.ofi_prov[ofi_prov_id].mr_multi_recv = NULL;
|
orte_rml_ofi.ofi_prov[ofi_prov_id].mr_multi_recv = NULL;
|
||||||
orte_rml_ofi.ofi_prov[ofi_prov_id].ofi_prov_id = RML_OFI_PROV_ID_INVALID;
|
orte_rml_ofi.ofi_prov[ofi_prov_id].ofi_prov_id = RML_OFI_PROV_ID_INVALID;
|
||||||
OPAL_LIST_DESTRUCT(&orte_rml_ofi.recv_msg_queue_list);
|
|
||||||
|
|
||||||
|
|
||||||
if( orte_rml_ofi.ofi_prov[ofi_prov_id].progress_ev_active) {
|
if( orte_rml_ofi.ofi_prov[ofi_prov_id].progress_ev_active) {
|
||||||
@ -195,23 +194,24 @@ rml_ofi_component_close(void)
|
|||||||
opal_object_t *value;
|
opal_object_t *value;
|
||||||
uint64_t key;
|
uint64_t key;
|
||||||
void *node;
|
void *node;
|
||||||
|
uint8_t ofi_prov_id;
|
||||||
|
|
||||||
opal_output_verbose(10,orte_rml_base_framework.framework_output,
|
opal_output_verbose(10,orte_rml_base_framework.framework_output,
|
||||||
" %s - rml_ofi_component_close() -begin, total open OFI providers = %d",
|
" %s - rml_ofi_component_close() -begin, total open OFI providers = %d",
|
||||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),orte_rml_ofi.ofi_prov_open_num);
|
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),orte_rml_ofi.ofi_prov_open_num);
|
||||||
|
|
||||||
if(orte_rml_ofi.fi_info_list) {
|
if (orte_rml_ofi.fi_info_list) {
|
||||||
(void) fi_freeinfo(orte_rml_ofi.fi_info_list);
|
(void) fi_freeinfo(orte_rml_ofi.fi_info_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Close endpoint and all queues */
|
/* Close endpoint and all queues */
|
||||||
for( uint8_t ofi_prov_id=0;ofi_prov_id<orte_rml_ofi.ofi_prov_open_num;ofi_prov_id++) {
|
for (ofi_prov_id=0; ofi_prov_id < orte_rml_ofi.ofi_prov_open_num; ofi_prov_id++) {
|
||||||
free_ofi_prov_resources(ofi_prov_id);
|
free_ofi_prov_resources(ofi_prov_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* release all peers from the hash table */
|
/* release all peers from the hash table */
|
||||||
rc = opal_hash_table_get_first_key_uint64 (&orte_rml_ofi.peers, &key,
|
rc = opal_hash_table_get_first_key_uint64(&orte_rml_ofi.peers, &key,
|
||||||
(void **) &value, &node);
|
(void **)&value, &node);
|
||||||
while (OPAL_SUCCESS == rc) {
|
while (OPAL_SUCCESS == rc) {
|
||||||
if (NULL != value) {
|
if (NULL != value) {
|
||||||
OBJ_RELEASE(value);
|
OBJ_RELEASE(value);
|
||||||
@ -231,6 +231,7 @@ rml_ofi_component_close(void)
|
|||||||
(void **) &value, node, &node);
|
(void **) &value, node, &node);
|
||||||
}
|
}
|
||||||
OBJ_DESTRUCT(&orte_rml_ofi.peers);
|
OBJ_DESTRUCT(&orte_rml_ofi.peers);
|
||||||
|
OPAL_LIST_DESTRUCT(&orte_rml_ofi.recv_msg_queue_list);
|
||||||
|
|
||||||
opal_output_verbose(10,orte_rml_base_framework.framework_output,
|
opal_output_verbose(10,orte_rml_base_framework.framework_output,
|
||||||
" %s - rml_ofi_component_close() end",ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
|
" %s - rml_ofi_component_close() end",ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user