OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

pml_bfo_rdmafrag.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3 * University Research and Technology
4 * Corporation. All rights reserved.
5 * Copyright (c) 2004-2006 The University of Tennessee and The University
6 * of Tennessee Research Foundation. All rights
7 * reserved.
8 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9 * University of Stuttgart. All rights reserved.
10 * Copyright (c) 2004-2005 The Regents of the University of California.
11 * All rights reserved.
12 * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
13 * $COPYRIGHT$
14 *
15 * Additional copyrights may follow
16 *
17 * $HEADER$
18 */
19 /**
20 * @file
21 */
22
23 #ifndef MCA_PML_BFO_RDMAFRAG_H
24 #define MCA_PML_BFO_RDMAFRAG_H
25
26 #include "ompi/mca/btl/btl.h"
27 #include "pml_bfo_hdr.h"
28
29 BEGIN_C_DECLS
30
31 typedef enum {
32 MCA_PML_BFO_RDMA_PUT,
33 MCA_PML_BFO_RDMA_GET
34 } mca_pml_bfo_rdma_state_t;
35
36 struct mca_pml_bfo_rdma_frag_t {
37 ompi_free_list_item_t super;
38 mca_bml_base_btl_t* rdma_bml;
39 #if PML_BFO
40 mca_btl_base_module_t* rdma_btl;
41 #endif /* PML_BFO */
42 mca_pml_bfo_hdr_t rdma_hdr;
43 mca_pml_bfo_rdma_state_t rdma_state;
44 size_t rdma_length;
45 mca_btl_base_segment_t rdma_segs[MCA_BTL_DES_MAX_SEGMENTS];
46 void *rdma_req;
47 struct mca_bml_base_endpoint_t* rdma_ep;
48 opal_convertor_t convertor;
49 mca_mpool_base_registration_t* reg;
50 uint32_t retries;
51 };
52 typedef struct mca_pml_bfo_rdma_frag_t mca_pml_bfo_rdma_frag_t;
53
54 OBJ_CLASS_DECLARATION(mca_pml_bfo_rdma_frag_t);
55
56
57 #define MCA_PML_BFO_RDMA_FRAG_ALLOC(frag,rc) \
58 do { \
59 ompi_free_list_item_t* item; \
60 OMPI_FREE_LIST_WAIT(&mca_pml_bfo.rdma_frags, item, rc); \
61 frag = (mca_pml_bfo_rdma_frag_t*)item; \
62 } while(0)
63
64 #define MCA_PML_BFO_RDMA_FRAG_RETURN(frag) \
65 do { \
66 /* return fragment */ \
67 OMPI_FREE_LIST_RETURN(&mca_pml_bfo.rdma_frags, \
68 (ompi_free_list_item_t*)frag); \
69 } while(0)
70
71
72 END_C_DECLS
73
74 #endif
75
pml_bfo_hdr.h
mca_pml_bfo_hdr_t
Union of defined hdr types.
Definition: pml_bfo_hdr.h:441
mca_mpool_base_registration_t
Definition: mpool.h:44
MCA_BTL_DES_MAX_SEGMENTS
#define MCA_BTL_DES_MAX_SEGMENTS
Maximum number of allowed segments in src/dst fields of a descriptor.
Definition: btl.h:316
btl.h
Byte Transfer Layer (BTL)
ompi_free_list_item_t
Definition: ompi_free_list.h:62
mca_bml_base_endpoint_t
Structure associated w/ ompi_proc_t that contains the set of BTLs used to reach a destination...
Definition: bml.h:222
opal_convertor_t
Definition: opal_convertor.h:90
mca_pml_bfo_rdma_frag_t
Definition: pml_bfo_rdmafrag.h:36
mca_bml_base_btl_t
Definition: bml.h:58
mca_btl_base_module_t
BTL module interface functions and attributes.
Definition: btl.h:786
mca_btl_base_segment_t
Describes a region/segment of memory that is addressable by an BTL.
Definition: btl.h:236
OBJ_CLASS_DECLARATION
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236