endpoint should use a uint64_t for subnet, as everyone else does.. makes bad
things happen when packing into a 64 bit buffer... Misc cleanup.. This commit was SVN r12993.
Этот коммит содержится в:
родитель
936fdd2ae1
Коммит
d207a6c988
@ -106,7 +106,7 @@ int mca_btl_openib_add_procs(
|
|||||||
BTL_VERBOSE(("got %d port_infos \n", ib_proc->proc_port_count));
|
BTL_VERBOSE(("got %d port_infos \n", ib_proc->proc_port_count));
|
||||||
for(j = 0; j < (int) ib_proc->proc_port_count; j++){
|
for(j = 0; j < (int) ib_proc->proc_port_count; j++){
|
||||||
BTL_VERBOSE(("got a subnet %016x\n",
|
BTL_VERBOSE(("got a subnet %016x\n",
|
||||||
ib_proc->proc_ports[j].subnet));
|
ib_proc->proc_ports[j].subnet));
|
||||||
if(ib_proc->proc_ports[j].subnet ==
|
if(ib_proc->proc_ports[j].subnet ==
|
||||||
openib_btl->port_info.subnet) {
|
openib_btl->port_info.subnet) {
|
||||||
BTL_VERBOSE(("Got a matching subnet!\n"));
|
BTL_VERBOSE(("Got a matching subnet!\n"));
|
||||||
|
@ -284,7 +284,7 @@ static int init_one_port(opal_list_t *btl_list, mca_btl_openib_hca_t *hca,
|
|||||||
|
|
||||||
ibv_query_gid(hca->ib_dev_context, port_num, 0, &gid);
|
ibv_query_gid(hca->ib_dev_context, port_num, 0, &gid);
|
||||||
subnet = ntoh64(gid.global.subnet_prefix);
|
subnet = ntoh64(gid.global.subnet_prefix);
|
||||||
BTL_VERBOSE((0, "my subnet is %016x\n", subnet));
|
BTL_VERBOSE(("my subnet is %016x\n", subnet));
|
||||||
|
|
||||||
if(mca_btl_openib_component.ib_num_btls > 0 &&
|
if(mca_btl_openib_component.ib_num_btls > 0 &&
|
||||||
IB_DEFAULT_GID_PREFIX == subnet &&
|
IB_DEFAULT_GID_PREFIX == subnet &&
|
||||||
|
@ -311,6 +311,7 @@ static int mca_btl_openib_endpoint_send_connect_data(mca_btl_base_endpoint_t* en
|
|||||||
{
|
{
|
||||||
orte_buffer_t* buffer = OBJ_NEW(orte_buffer_t);
|
orte_buffer_t* buffer = OBJ_NEW(orte_buffer_t);
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
if(NULL == buffer) {
|
if(NULL == buffer) {
|
||||||
ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE);
|
ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE);
|
||||||
return ORTE_ERR_OUT_OF_RESOURCE;
|
return ORTE_ERR_OUT_OF_RESOURCE;
|
||||||
@ -348,13 +349,13 @@ static int mca_btl_openib_endpoint_send_connect_data(mca_btl_base_endpoint_t* en
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
rc = orte_dss.pack(buffer, &endpoint->subnet, 1, ORTE_UINT64);
|
rc = orte_dss.pack(buffer, &endpoint->subnet, 1, ORTE_UINT64);
|
||||||
if(rc != ORTE_SUCCESS) {
|
if(rc != ORTE_SUCCESS) {
|
||||||
ORTE_ERROR_LOG(rc);
|
ORTE_ERROR_LOG(rc);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
rc = orte_dss.pack(buffer, &endpoint->endpoint_btl->hca->mtu, 1, ORTE_UINT32);
|
rc = orte_dss.pack(buffer, &endpoint->endpoint_btl->hca->mtu, 1, ORTE_UINT32);
|
||||||
if(rc != ORTE_SUCCESS) {
|
if(rc != ORTE_SUCCESS) {
|
||||||
ORTE_ERROR_LOG(rc);
|
ORTE_ERROR_LOG(rc);
|
||||||
@ -371,11 +372,14 @@ static int mca_btl_openib_endpoint_send_connect_data(mca_btl_base_endpoint_t* en
|
|||||||
mca_btl_openib_endpoint_send_cb, NULL);
|
mca_btl_openib_endpoint_send_cb, NULL);
|
||||||
|
|
||||||
|
|
||||||
BTL_VERBOSE(("Sending High Priority QP num = %d, Low Priority QP num = %d, LID = %d",
|
BTL_VERBOSE(("Sent High Priority QP num = %d, Low Priority QP num = %d, LID = %d, SUBNET = %016x\n",
|
||||||
endpoint->lcl_qp[BTL_OPENIB_HP_QP]->qp_num,
|
endpoint->lcl_qp[BTL_OPENIB_HP_QP]->qp_num,
|
||||||
endpoint->lcl_qp[BTL_OPENIB_LP_QP]->qp_num,
|
endpoint->lcl_qp[BTL_OPENIB_LP_QP]->qp_num,
|
||||||
endpoint->endpoint_btl->lid));
|
endpoint->endpoint_btl->lid,
|
||||||
|
endpoint->subnet));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(rc < 0) {
|
if(rc < 0) {
|
||||||
ORTE_ERROR_LOG(rc);
|
ORTE_ERROR_LOG(rc);
|
||||||
return rc;
|
return rc;
|
||||||
@ -629,11 +633,12 @@ static void mca_btl_openib_endpoint_recv(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
BTL_VERBOSE(("Received High Priority QP num = %d, Low Priority QP num %d, LID = %d",
|
BTL_VERBOSE(("Received High Priority QP num = %d, Low Priority QP num %d, LID = %d, SUBNET = %016x\n",
|
||||||
rem_info.rem_qp_num_hp,
|
rem_info.rem_qp_num_hp,
|
||||||
rem_info.rem_qp_num_lp,
|
rem_info.rem_qp_num_lp,
|
||||||
rem_info.rem_lid));
|
rem_info.rem_lid,
|
||||||
|
rem_info.rem_subnet));
|
||||||
|
|
||||||
for(ib_proc = (mca_btl_openib_proc_t*)
|
for(ib_proc = (mca_btl_openib_proc_t*)
|
||||||
opal_list_get_first(&mca_btl_openib_component.ib_procs);
|
opal_list_get_first(&mca_btl_openib_component.ib_procs);
|
||||||
ib_proc != (mca_btl_openib_proc_t*)
|
ib_proc != (mca_btl_openib_proc_t*)
|
||||||
|
@ -146,7 +146,7 @@ struct mca_btl_base_endpoint_t {
|
|||||||
int32_t sd_credits[2]; /**< number of send wqe entries being used to return credits */
|
int32_t sd_credits[2]; /**< number of send wqe entries being used to return credits */
|
||||||
int32_t sd_wqe[2]; /**< number of available send wqe entries */
|
int32_t sd_wqe[2]; /**< number of available send wqe entries */
|
||||||
|
|
||||||
uint16_t subnet; /**< subnet of this endpoint*/
|
uint64_t subnet; /**< subnet of this endpoint*/
|
||||||
|
|
||||||
int32_t eager_recv_count; /**< number of eager received */
|
int32_t eager_recv_count; /**< number of eager received */
|
||||||
mca_btl_openib_eager_rdma_remote_t eager_rdma_remote;
|
mca_btl_openib_eager_rdma_remote_t eager_rdma_remote;
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user