mtl/portals4: Modifications concerning the short message management
Этот коммит содержится в:
родитель
49e9936914
Коммит
9cac32ba6a
@ -77,6 +77,7 @@ ompi_mtl_portals4_recv_block_progress(ptl_event_t *ev,
|
||||
break;
|
||||
|
||||
case PTL_EVENT_AUTO_UNLINK:
|
||||
block->me_h = PTL_INVALID_HANDLE;
|
||||
OPAL_THREAD_LOCK(&ompi_mtl_portals4.short_block_mutex);
|
||||
switch (block->status) {
|
||||
case BLOCK_STATUS_ACTIVATED: /* Normal case */
|
||||
@ -194,6 +195,7 @@ ompi_mtl_portals4_activate_block(ompi_mtl_portals4_recv_short_block_t *block)
|
||||
me.uid = ompi_mtl_portals4.uid;
|
||||
me.options =
|
||||
PTL_ME_OP_PUT |
|
||||
PTL_ME_EVENT_COMM_DISABLE |
|
||||
PTL_ME_MANAGE_LOCAL |
|
||||
PTL_ME_MAY_ALIGN;
|
||||
if (ompi_mtl_portals4.use_logical) {
|
||||
@ -261,6 +263,7 @@ ompi_mtl_portals4_recv_short_fini(void)
|
||||
ompi_mtl_portals4_recv_short_block_t *block =
|
||||
(ompi_mtl_portals4_recv_short_block_t*) item;
|
||||
ret = ompi_mtl_portals4_recv_short_block_free(block);
|
||||
ompi_mtl_portals4.active_recv_short_blocks--;
|
||||
}
|
||||
OPAL_THREAD_UNLOCK(&ompi_mtl_portals4.short_block_mutex);
|
||||
|
||||
@ -278,10 +281,17 @@ ompi_mtl_portals4_recv_short_link(int count)
|
||||
if (active < count) {
|
||||
for (i = 0 ; i < (count - active) ; ++i) {
|
||||
ompi_mtl_portals4_recv_short_block_t *block =
|
||||
ompi_mtl_portals4_recv_short_block_alloc(false);
|
||||
ompi_mtl_portals4_recv_short_block_alloc(true);
|
||||
if (NULL == block) {
|
||||
return OMPI_ERR_OUT_OF_RESOURCE;
|
||||
}
|
||||
OPAL_THREAD_LOCK(&ompi_mtl_portals4.short_block_mutex);
|
||||
opal_list_append(&ompi_mtl_portals4.recv_short_blocks,
|
||||
&block->base);
|
||||
OPAL_OUTPUT_VERBOSE((10, ompi_mtl_base_framework.framework_output,
|
||||
"recv_short_link: total=%d active=%d",
|
||||
(int) opal_list_get_size(&ompi_mtl_portals4.recv_short_blocks), ompi_mtl_portals4.active_recv_short_blocks));
|
||||
OPAL_THREAD_UNLOCK(&ompi_mtl_portals4.short_block_mutex);
|
||||
ret = ompi_mtl_portals4_activate_block(block);
|
||||
}
|
||||
}
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user