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
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.
14
* Additional copyrights may follow
22
#ifndef MCA_PML_CSUM_RDMAFRAG_H
23
#define MCA_PML_CSUM_RDMAFRAG_H
25
#include "ompi/mca/btl/btl.h"
26
#include "pml_csum_hdr.h"
31
MCA_PML_CSUM_RDMA_PUT,
33
} mca_pml_csum_rdma_state_t;
35
struct mca_pml_csum_rdma_frag_t {
36
ompi_free_list_item_t super;
37
mca_bml_base_btl_t* rdma_bml;
38
mca_pml_csum_hdr_t rdma_hdr;
39
mca_pml_csum_rdma_state_t rdma_state;
41
mca_btl_base_segment_t rdma_segs[MCA_BTL_DES_MAX_SEGMENTS];
43
struct mca_bml_base_endpoint_t* rdma_ep;
44
ompi_convertor_t convertor;
45
mca_mpool_base_registration_t* reg;
48
typedef struct mca_pml_csum_rdma_frag_t mca_pml_csum_rdma_frag_t;
50
OBJ_CLASS_DECLARATION(mca_pml_csum_rdma_frag_t);
53
#define MCA_PML_CSUM_RDMA_FRAG_ALLOC(frag,rc) \
55
ompi_free_list_item_t* item; \
56
OMPI_FREE_LIST_WAIT(&mca_pml_csum.rdma_frags, item, rc); \
57
frag = (mca_pml_csum_rdma_frag_t*)item; \
60
#define MCA_PML_CSUM_RDMA_FRAG_RETURN(frag) \
62
/* return fragment */ \
63
OMPI_FREE_LIST_RETURN(&mca_pml_csum.rdma_frags, \
64
(ompi_free_list_item_t*)frag); \