19 #ifndef OMPI_MTL_PORTALS_RECV_SHORT_H
20 #define OMPI_MTL_PORTALS_RECV_SHORT_H
33 volatile int32_t pending;
74 ptl_process_id_t any_proc = { PTL_NID_ANY, PTL_PID_ANY };
76 uint64_t match_bits = PTL_SHORT_MSG;
77 uint64_t ignore_bits = PTL_CONTEXT_MASK | PTL_SOURCE_MASK | PTL_TAG_MASK;
81 assert(block->pending == 0);
83 if (NULL == block->start)
return OMPI_ERROR;
85 md.start = block->start;
86 md.length = block->length;
87 md.threshold = PTL_MD_THRESH_INF;
88 md.max_size = block->mtl->eager_limit;
89 md.options = PTL_MD_OP_PUT | PTL_MD_MAX_SIZE | PTL_MD_ACK_DISABLE;
91 md.eq_handle = block->mtl->ptl_unex_eq_h;
99 ret = PtlMEMDPost(ompi_mtl_portals.ptl_ni_h,
100 ompi_mtl_portals.ptl_send_catchall_me_h,
110 ompi_mtl_portals.ptl_empty_eq_h);
111 if (PTL_OK != ret)
return OMPI_ERROR;
124 if (block->full ==
true) {
125 if (block->pending == 0) {
126 ret = ompi_mtl_portals_activate_block(block);
127 if (OMPI_SUCCESS != ret) {
#define OPAL_THREAD_ADD32(x, y)
Use an atomic operation for increment/decrement if opal_using_threads() indicates that threads are in...
Definition: mutex.h:367
Definition: mtl_portals_recv_short.h:22
Definition: opal_list.h:98
void opal_atomic_mb(void)
Memory barrier.
Definition: mtl_portals.h:34
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236