OpenMPI  0.1.1
pml_ob1_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$
13  *
14  * Additional copyrights may follow
15  *
16  * $HEADER$
17  */
18 /**
19  * @file
20  */
21 
22 #ifndef MCA_PML_OB1_RDMAFRAG_H
23 #define MCA_PML_OB1_RDMAFRAG_H
24 
25 #include "ompi/mca/btl/btl.h"
26 #include "pml_ob1_hdr.h"
27 
28 BEGIN_C_DECLS
29 
30 typedef enum {
31  MCA_PML_OB1_RDMA_PUT,
32  MCA_PML_OB1_RDMA_GET
33 } mca_pml_ob1_rdma_state_t;
34 
37  mca_bml_base_btl_t* rdma_bml;
38  mca_pml_ob1_hdr_t rdma_hdr;
39  mca_pml_ob1_rdma_state_t rdma_state;
40  size_t rdma_length;
42  void *rdma_req;
43  struct mca_bml_base_endpoint_t* rdma_ep;
44  opal_convertor_t convertor;
46  uint32_t retries;
47 };
49 
51 
52 
53 #define MCA_PML_OB1_RDMA_FRAG_ALLOC(frag,rc) \
54 do { \
55  ompi_free_list_item_t* item; \
56  OMPI_FREE_LIST_WAIT(&mca_pml_ob1.rdma_frags, item, rc); \
57  frag = (mca_pml_ob1_rdma_frag_t*)item; \
58 } while(0)
59 
60 #define MCA_PML_OB1_RDMA_FRAG_RETURN(frag) \
61 do { \
62  /* return fragment */ \
63  OMPI_FREE_LIST_RETURN(&mca_pml_ob1.rdma_frags, \
64  (ompi_free_list_item_t*)frag); \
65 } while(0)
66 
67 
68 END_C_DECLS
69 
70 #endif
71 
Definition: mpool.h:44
#define MCA_BTL_DES_MAX_SEGMENTS
Maximum number of allowed segments in src/dst fields of a descriptor.
Definition: btl.h:316
Definition: pml_ob1_rdmafrag.h:35
Union of defined hdr types.
Definition: pml_ob1_hdr.h:359
Byte Transfer Layer (BTL)
Definition: ompi_free_list.h:62
Structure associated w/ ompi_proc_t that contains the set of BTLs used to reach a destination...
Definition: bml.h:222
Definition: opal_convertor.h:90
Definition: bml.h:58
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