21 #ifndef MCA_BTL_SELF_SEND_FRAG_H
22 #define MCA_BTL_SELF_SEND_FRAG_H
24 #include <sys/types.h>
25 #include "ompi/class/ompi_free_list.h"
47 #define MCA_BTL_SELF_FRAG_ALLOC_EAGER(frag, rc) \
49 ompi_free_list_item_t* item; \
50 OMPI_FREE_LIST_GET(&mca_btl_self_component.self_frags_eager, item, rc); \
51 frag = (mca_btl_self_frag_t*)item; \
54 #define MCA_BTL_SELF_FRAG_RETURN_EAGER(frag) \
56 OMPI_FREE_LIST_RETURN(&mca_btl_self_component.self_frags_eager, \
57 (ompi_free_list_item_t*)(frag)); \
58 frag->segment.seg_addr.pval = frag+1; \
61 #define MCA_BTL_SELF_FRAG_ALLOC_SEND(frag, rc) \
63 ompi_free_list_item_t* item; \
64 OMPI_FREE_LIST_GET(&mca_btl_self_component.self_frags_send, item, rc); \
65 frag = (mca_btl_self_frag_t*)item; \
68 #define MCA_BTL_SELF_FRAG_RETURN_SEND(frag) \
70 OMPI_FREE_LIST_RETURN( &mca_btl_self_component.self_frags_send, \
71 (ompi_free_list_item_t*)(frag)); \
72 frag->segment.seg_addr.pval = frag+1; \
75 #define MCA_BTL_SELF_FRAG_ALLOC_RDMA(frag, rc) \
77 ompi_free_list_item_t* item; \
78 OMPI_FREE_LIST_GET(&mca_btl_self_component.self_frags_rdma, item, rc); \
79 frag = (mca_btl_self_frag_t*)item; \
82 #define MCA_BTL_SELF_FRAG_RETURN_RDMA(frag) \
84 OMPI_FREE_LIST_RETURN(&mca_btl_self_component.self_frags_rdma, \
85 (ompi_free_list_item_t*)(frag)); \
86 frag->segment.seg_addr.pval = frag+1; \
A descriptor that holds the parameters to a send/put/get operation along w/ a callback routine that i...
Definition: btl.h:275
shared memory send fragment derived type.
Definition: btl_self_frag.h:32
State of ELAN endpoint connection.
Definition: btl_elan_endpoint.h:33
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