@@ -86,6 +86,7 @@ ompi_mtl_portals4_recv_block_progress(ptl_event_t *ev,
8686            break ;
8787
8888        case  PTL_EVENT_AUTO_UNLINK :
89+             block -> me_h  =  PTL_INVALID_HANDLE ;
8990#if  OMPI_ENABLE_THREAD_MULTIPLE 
9091            OPAL_THREAD_LOCK (& ompi_mtl_portals4 .short_block_mutex );
9192            switch  (block -> status ) {
@@ -211,6 +212,7 @@ ompi_mtl_portals4_activate_block(ompi_mtl_portals4_recv_short_block_t *block)
211212    me .uid  =  ompi_mtl_portals4 .uid ;
212213    me .options  = 
213214        PTL_ME_OP_PUT  |
215+         PTL_ME_EVENT_COMM_DISABLE  |
214216        PTL_ME_MANAGE_LOCAL  |
215217        PTL_ME_MAY_ALIGN ;
216218    if  (ompi_mtl_portals4 .use_logical ) {
@@ -278,6 +280,7 @@ ompi_mtl_portals4_recv_short_fini(void)
278280        ompi_mtl_portals4_recv_short_block_t  * block  = 
279281            (ompi_mtl_portals4_recv_short_block_t * ) item ;
280282        ret  =  ompi_mtl_portals4_recv_short_block_free (block );
283+         ompi_mtl_portals4 .active_recv_short_blocks -- ;
281284    }
282285    OPAL_THREAD_UNLOCK (& ompi_mtl_portals4 .short_block_mutex );
283286
@@ -295,10 +298,17 @@ ompi_mtl_portals4_recv_short_link(int count)
295298    if  (active  <  count ) {
296299        for  (i  =  0  ; i  <  (count  -  active ) ; ++ i ) {
297300            ompi_mtl_portals4_recv_short_block_t  * block  = 
298-                 ompi_mtl_portals4_recv_short_block_alloc (false );
301+                 ompi_mtl_portals4_recv_short_block_alloc (true );
299302            if  (NULL  ==  block ) {
300303                return  OMPI_ERR_OUT_OF_RESOURCE ;
301304            }
305+             OPAL_THREAD_LOCK (& ompi_mtl_portals4 .short_block_mutex );
306+             opal_list_append (& ompi_mtl_portals4 .recv_short_blocks ,
307+                          & block -> base );
308+             OPAL_OUTPUT_VERBOSE ((10 , ompi_mtl_base_framework .framework_output ,
309+              "recv_short_link: total=%d active=%d" ,
310+              (int ) opal_list_get_size (& ompi_mtl_portals4 .recv_short_blocks ), ompi_mtl_portals4 .active_recv_short_blocks ));
311+             OPAL_THREAD_UNLOCK (& ompi_mtl_portals4 .short_block_mutex );
302312            ret  =  ompi_mtl_portals4_activate_block (block );
303313        }
304314    }
0 commit comments