This source file includes following definitions.
- mca_btl_portals4_frag_common_send_constructor
- mca_btl_portals4_frag_eager_constructor
- mca_btl_portals4_frag_eager_destructor
- mca_btl_portals4_frag_max_constructor
- mca_btl_portals4_frag_user_constructor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include "opal_config.h"
22
23 #include "btl_portals4.h"
24 #include "btl_portals4_frag.h"
25
26 static void
27 mca_btl_portals4_frag_common_send_constructor(mca_btl_portals4_frag_t* frag)
28 {
29 frag->base.des_flags = 0;
30 frag->base.des_segments = &frag->segments[0].base;
31 frag->base.des_segment_count = 2;
32
33 frag->segments[0].base.seg_addr.pval = frag + 1;
34 frag->segments[0].base.seg_len = frag->size;
35 frag->segments[0].key = 0;
36
37 frag->me_h = PTL_INVALID_HANDLE;
38 }
39
40 static void
41 mca_btl_portals4_frag_eager_constructor(mca_btl_portals4_frag_t* frag)
42 {
43 frag->size = mca_btl_portals4_module.super.btl_eager_limit;
44 mca_btl_portals4_frag_common_send_constructor(frag);
45 frag->type = BTL_PORTALS4_FRAG_TYPE_EAGER;
46 }
47
48 static void
49 mca_btl_portals4_frag_eager_destructor(mca_btl_portals4_frag_t* frag)
50 {
51 if (PTL_INVALID_HANDLE != frag->me_h) {
52 PtlMEUnlink(frag->me_h);
53 frag->me_h = PTL_INVALID_HANDLE;
54 }
55 }
56
57 static void
58 mca_btl_portals4_frag_max_constructor(mca_btl_portals4_frag_t* frag)
59 {
60 frag->size = mca_btl_portals4_module.super.btl_max_send_size;
61 mca_btl_portals4_frag_common_send_constructor(frag);
62 frag->type = BTL_PORTALS4_FRAG_TYPE_MAX;
63 }
64
65 static void
66 mca_btl_portals4_frag_user_constructor(mca_btl_portals4_frag_t* frag)
67 {
68 frag->base.des_flags = 0;
69 frag->size = 0;
70 frag->type = BTL_PORTALS4_FRAG_TYPE_USER;
71 }
72
73 OBJ_CLASS_INSTANCE(
74 mca_btl_portals4_frag_t,
75 mca_btl_base_descriptor_t,
76 NULL,
77 NULL);
78
79 OBJ_CLASS_INSTANCE(
80 mca_btl_portals4_frag_eager_t,
81 mca_btl_base_descriptor_t,
82 mca_btl_portals4_frag_eager_constructor,
83 mca_btl_portals4_frag_eager_destructor);
84
85 OBJ_CLASS_INSTANCE(
86 mca_btl_portals4_frag_max_t,
87 mca_btl_base_descriptor_t,
88 mca_btl_portals4_frag_max_constructor,
89 NULL);
90
91 OBJ_CLASS_INSTANCE(
92 mca_btl_portals4_frag_user_t,
93 mca_btl_base_descriptor_t,
94 mca_btl_portals4_frag_user_constructor,
95 NULL);