24 #ifndef MCA_BTL_VADER_SEND_FRAG_H
25 #define MCA_BTL_VADER_SEND_FRAG_H
27 #include "ompi_config.h"
29 #define MCA_BTL_VADER_FLAG_INLINE 0
30 #define MCA_BTL_VADER_FLAG_SINGLE_COPY 1
31 #define MCA_BTL_VADER_FLAG_FBOX 2
34 volatile intptr_t next;
35 volatile bool complete;
36 mca_btl_base_tag_t tag;
63 OMPI_FREE_LIST_GET(list, item, rc);
65 if (OPAL_LIKELY(NULL != item)) {
66 (*frag)->hdr->complete =
false;
67 (*frag)->hdr->flags = MCA_BTL_VADER_FLAG_INLINE;
68 (*frag)->segment.seg_addr.pval = (
char *)((*frag)->hdr + 1);
69 (*frag)->my_list = list;
75 #define MCA_BTL_VADER_FRAG_ALLOC_EAGER(frag) \
76 mca_btl_vader_frag_alloc (&(frag), &mca_btl_vader_component.vader_frags_eager)
77 #define MCA_BTL_VADER_FRAG_ALLOC_USER(frag) \
78 mca_btl_vader_frag_alloc (&(frag), &mca_btl_vader_component.vader_frags_user)
79 #define MCA_BTL_VADER_FRAG_RETURN(frag) \
80 OMPI_FREE_LIST_RETURN((frag)->my_list, (ompi_free_list_item_t *)(frag))
83 if (OPAL_UNLIKELY(MCA_BTL_DES_SEND_ALWAYS_CALLBACK & frag->base.
des_flags)) {
86 &frag->base, OMPI_SUCCESS);
89 if (OPAL_LIKELY(frag->base.
des_flags & MCA_BTL_DES_FLAGS_BTL_OWNERSHIP)) {
90 MCA_BTL_VADER_FRAG_RETURN(frag);
A descriptor that holds the parameters to a send/put/get operation along w/ a callback routine that i...
Definition: btl.h:275
uint32_t des_flags
hints to BTL
Definition: btl.h:284
mca_btl_base_module_t super
base BTL interface
Definition: btl_vader.h:133
Definition: btl_vader_frag.h:33
shared memory send fragment derived type.
Definition: btl_vader_frag.h:47
Definition: ompi_free_list.h:39
State of ELAN endpoint connection.
Definition: btl_elan_endpoint.h:33
Definition: ompi_free_list.h:62
mca_btl_base_completion_fn_t des_cbfunc
local callback function
Definition: btl.h:281
Describes a region/segment of memory that is addressable by an BTL.
Definition: btl.h:236
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236