@@ -1693,10 +1693,6 @@ static int create_ep(opal_btl_usnic_module_t* module,
16931693 inet_ntoa (sin -> sin_addr ),
16941694 ntohs (sin -> sin_port ));
16951695
1696- /* actual sizes */
1697- channel -> chan_rd_num = channel -> info -> rx_attr -> size ;
1698- channel -> chan_sd_num = channel -> info -> tx_attr -> size ;
1699-
17001696 return OPAL_SUCCESS ;
17011697}
17021698
@@ -1739,7 +1735,8 @@ static int init_one_channel(opal_btl_usnic_module_t *module,
17391735 int index ,
17401736 int max_msg_size ,
17411737 int rd_num ,
1742- int sd_num )
1738+ int sd_num ,
1739+ int cq_num )
17431740{
17441741 int i ;
17451742 int rc ;
@@ -1769,7 +1766,7 @@ static int init_one_channel(opal_btl_usnic_module_t *module,
17691766 memset (& cq_attr , 0 , sizeof (cq_attr ));
17701767 cq_attr .format = FI_CQ_FORMAT_CONTEXT ;
17711768 cq_attr .wait_obj = FI_WAIT_NONE ;
1772- cq_attr .size = module -> cq_num ;
1769+ cq_attr .size = cq_num ;
17731770 rc = fi_cq_open (module -> domain , & cq_attr , & channel -> cq , NULL );
17741771 if (0 != rc ) {
17751772 opal_show_help ("help-mpi-btl-usnic.txt" ,
@@ -1967,6 +1964,11 @@ static void init_find_transport_header_len(opal_btl_usnic_module_t *module)
19671964 */
19681965static void init_queue_lengths (opal_btl_usnic_module_t * module )
19691966{
1967+ bool cq_is_sum = false;
1968+ if (-1 == mca_btl_usnic_component .cq_num ) {
1969+ cq_is_sum = true;
1970+ }
1971+
19701972 if (-1 == mca_btl_usnic_component .sd_num ) {
19711973 module -> sd_num = module -> fabric_info -> tx_attr -> size ;
19721974 } else {
@@ -1977,7 +1979,7 @@ static void init_queue_lengths(opal_btl_usnic_module_t *module)
19771979 } else {
19781980 module -> rd_num = mca_btl_usnic_component .rd_num ;
19791981 }
1980- if (-1 == mca_btl_usnic_component . cq_num ) {
1982+ if (cq_is_sum ) {
19811983 module -> cq_num = module -> rd_num + module -> sd_num ;
19821984 } else {
19831985 module -> cq_num = mca_btl_usnic_component .cq_num ;
@@ -2012,6 +2014,11 @@ static void init_queue_lengths(opal_btl_usnic_module_t *module)
20122014 module -> fabric_info -> rx_attr -> size ) {
20132015 module -> prio_rd_num = module -> fabric_info -> rx_attr -> size ;
20142016 }
2017+ if (cq_is_sum ) {
2018+ module -> prio_cq_num = module -> prio_rd_num + module -> prio_sd_num ;
2019+ } else {
2020+ module -> prio_cq_num = module -> cq_num ;
2021+ }
20152022}
20162023
20172024static void init_payload_lengths (opal_btl_usnic_module_t * module )
@@ -2217,14 +2224,14 @@ static int init_channels(opal_btl_usnic_module_t *module)
22172224 rc = init_one_channel (module ,
22182225 USNIC_PRIORITY_CHANNEL ,
22192226 module -> max_tiny_msg_size ,
2220- module -> prio_rd_num , module -> prio_sd_num );
2227+ module -> prio_rd_num , module -> prio_sd_num , module -> prio_cq_num );
22212228 if (rc != OPAL_SUCCESS ) {
22222229 goto destroy ;
22232230 }
22242231 rc = init_one_channel (module ,
22252232 USNIC_DATA_CHANNEL ,
22262233 module -> fabric_info -> ep_attr -> max_msg_size ,
2227- module -> rd_num , module -> sd_num );
2234+ module -> rd_num , module -> sd_num , module -> cq_num );
22282235 if (rc != OPAL_SUCCESS ) {
22292236 goto destroy ;
22302237 }
0 commit comments