Skip to content

Commit 9cac32b

Browse files
committed
mtl/portals4: Modifications concerning the short message management
1 parent 49e9936 commit 9cac32b

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

ompi/mca/mtl/portals4/mtl_portals4_recv_short.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ ompi_mtl_portals4_recv_block_progress(ptl_event_t *ev,
7777
break;
7878

7979
case PTL_EVENT_AUTO_UNLINK:
80+
block->me_h = PTL_INVALID_HANDLE;
8081
OPAL_THREAD_LOCK(&ompi_mtl_portals4.short_block_mutex);
8182
switch (block->status) {
8283
case BLOCK_STATUS_ACTIVATED: /* Normal case */
@@ -194,6 +195,7 @@ ompi_mtl_portals4_activate_block(ompi_mtl_portals4_recv_short_block_t *block)
194195
me.uid = ompi_mtl_portals4.uid;
195196
me.options =
196197
PTL_ME_OP_PUT |
198+
PTL_ME_EVENT_COMM_DISABLE |
197199
PTL_ME_MANAGE_LOCAL |
198200
PTL_ME_MAY_ALIGN;
199201
if (ompi_mtl_portals4.use_logical) {
@@ -261,6 +263,7 @@ ompi_mtl_portals4_recv_short_fini(void)
261263
ompi_mtl_portals4_recv_short_block_t *block =
262264
(ompi_mtl_portals4_recv_short_block_t*) item;
263265
ret = ompi_mtl_portals4_recv_short_block_free(block);
266+
ompi_mtl_portals4.active_recv_short_blocks--;
264267
}
265268
OPAL_THREAD_UNLOCK(&ompi_mtl_portals4.short_block_mutex);
266269

@@ -278,10 +281,17 @@ ompi_mtl_portals4_recv_short_link(int count)
278281
if (active < count) {
279282
for (i = 0 ; i < (count - active) ; ++i) {
280283
ompi_mtl_portals4_recv_short_block_t *block =
281-
ompi_mtl_portals4_recv_short_block_alloc(false);
284+
ompi_mtl_portals4_recv_short_block_alloc(true);
282285
if (NULL == block) {
283286
return OMPI_ERR_OUT_OF_RESOURCE;
284287
}
288+
OPAL_THREAD_LOCK(&ompi_mtl_portals4.short_block_mutex);
289+
opal_list_append(&ompi_mtl_portals4.recv_short_blocks,
290+
&block->base);
291+
OPAL_OUTPUT_VERBOSE((10, ompi_mtl_base_framework.framework_output,
292+
"recv_short_link: total=%d active=%d",
293+
(int) opal_list_get_size(&ompi_mtl_portals4.recv_short_blocks), ompi_mtl_portals4.active_recv_short_blocks));
294+
OPAL_THREAD_UNLOCK(&ompi_mtl_portals4.short_block_mutex);
285295
ret = ompi_mtl_portals4_activate_block(block);
286296
}
287297
}

0 commit comments

Comments
 (0)