Calls to APM functions should be protected with OMPI_HAVE_THREADS.
This commit was SVN r18581.
Этот коммит содержится в:
родитель
5e918ad25d
Коммит
0a8321e08d
@ -469,9 +469,9 @@ void mca_btl_openib_load_apm(struct ibv_qp *qp, mca_btl_openib_endpoint_t *ep)
|
||||
,qp->qp_num ,strerror(errno), errno));
|
||||
}
|
||||
|
||||
#if HAVE_XRC
|
||||
void mca_btl_openib_load_apm_xrc_rcv(uint32_t qp_num, mca_btl_openib_endpoint_t *ep)
|
||||
{
|
||||
#if HAVE_XRC
|
||||
struct ibv_qp_init_attr qp_init_attr;
|
||||
struct ibv_qp_attr attr;
|
||||
enum ibv_qp_attr_mask mask = 0;
|
||||
@ -500,7 +500,7 @@ void mca_btl_openib_load_apm_xrc_rcv(uint32_t qp_num, mca_btl_openib_endpoint_t
|
||||
|
||||
ibv_modify_xrc_rcv_qp(btl->hca->xrc_domain, qp_num, &attr, mask);
|
||||
/* Maybe the qp already was modified by other process - ignoring error */
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -15,7 +15,9 @@
|
||||
|
||||
void* btl_openib_async_thread(void *one_hca);
|
||||
void mca_btl_openib_load_apm(struct ibv_qp *qp, mca_btl_openib_endpoint_t *ep);
|
||||
#if HAVE_XRC
|
||||
void mca_btl_openib_load_apm_xrc_rcv(uint32_t qp_num, mca_btl_openib_endpoint_t *ep);
|
||||
#endif
|
||||
|
||||
#define APM_ENABLED (0 != mca_btl_openib_component.apm_lmc || 0 != mca_btl_openib_component.apm_ports)
|
||||
|
||||
|
@ -572,7 +572,7 @@ void mca_btl_openib_endpoint_connected(mca_btl_openib_endpoint_t *endpoint)
|
||||
}
|
||||
|
||||
/* Run over all qps and load alternative path */
|
||||
#if OMPI_HAVE_THREAD_SUPPORT
|
||||
#if OMPI_HAVE_THREADS
|
||||
if (APM_ENABLED) {
|
||||
int i;
|
||||
if (MCA_BTL_XRC_ENABLED) {
|
||||
|
@ -573,9 +573,11 @@ static int xoob_recv_qp_create(mca_btl_openib_endpoint_t *endpoint, mca_btl_open
|
||||
endpoint->xrc_recv_qp_num, strerror(ret), ret));
|
||||
return OMPI_ERROR;
|
||||
}
|
||||
#if OMPI_HAVE_THREADS
|
||||
if (APM_ENABLED) {
|
||||
mca_btl_openib_load_apm_xrc_rcv(endpoint->xrc_recv_qp_num, endpoint);
|
||||
}
|
||||
#endif
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user