13
13
* Copyright (c) 2009 IBM Corporation. All rights reserved.
14
14
* Copyright (c) 2012-2015 Los Alamos National Security, LLC. All rights
15
15
* reserved.
16
+ * Copyright (c) 2018 Research Organization for Information Science
17
+ * and Technology (RIST). All rights reserved.
16
18
* $COPYRIGHT$
17
19
*
18
20
* Additional copyrights may follow
@@ -84,11 +86,11 @@ struct mca_pml_ob1_match_hdr_t {
84
86
int32_t hdr_src ; /**< source rank */
85
87
int32_t hdr_tag ; /**< user tag */
86
88
uint16_t hdr_seq ; /**< message sequence number */
87
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT
89
+ #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT || OPAL_ENABLE_DEBUG
88
90
uint8_t hdr_padding [2 ]; /**< explicitly pad to 16 bytes. Compilers seem to already prefer to do this, but make it explicit just in case */
89
91
#endif
90
92
};
91
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT
93
+ #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT || OPAL_ENABLE_DEBUG
92
94
#define OMPI_PML_OB1_MATCH_HDR_LEN 16
93
95
#else
94
96
#define OMPI_PML_OB1_MATCH_HDR_LEN 14
@@ -104,7 +106,7 @@ static inline void mca_pml_ob1_match_hdr_prepare (mca_pml_ob1_match_hdr_t *hdr,
104
106
hdr -> hdr_src = hdr_src ;
105
107
hdr -> hdr_tag = hdr_tag ;
106
108
hdr -> hdr_seq = hdr_seq ;
107
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT && OPAL_ENABLE_DEBUG
109
+ #if OPAL_ENABLE_DEBUG
108
110
hdr -> hdr_padding [0 ] = 0 ;
109
111
hdr -> hdr_padding [1 ] = 0 ;
110
112
#endif
@@ -169,7 +171,7 @@ static inline void mca_pml_ob1_rendezvous_hdr_prepare (mca_pml_ob1_rendezvous_hd
169
171
*/
170
172
struct mca_pml_ob1_rget_hdr_t {
171
173
mca_pml_ob1_rendezvous_hdr_t hdr_rndv ;
172
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT
174
+ #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT || OPAL_ENABLE_DEBUG
173
175
uint8_t hdr_padding [4 ];
174
176
#endif
175
177
opal_ptr_t hdr_frag ; /**< source fragment (for fin) */
@@ -185,7 +187,7 @@ static inline void mca_pml_ob1_rget_hdr_prepare (mca_pml_ob1_rget_hdr_t *hdr, ui
185
187
{
186
188
mca_pml_ob1_rendezvous_hdr_prepare (& hdr -> hdr_rndv , MCA_PML_OB1_HDR_TYPE_RGET , hdr_flags ,
187
189
hdr_ctx , hdr_src , hdr_tag , hdr_seq , hdr_msg_length , hdr_src_req );
188
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT && OPAL_ENABLE_DEBUG
190
+ #if OPAL_ENABLE_DEBUG
189
191
hdr -> hdr_padding [0 ] = 0 ;
190
192
hdr -> hdr_padding [1 ] = 0 ;
191
193
hdr -> hdr_padding [2 ] = 0 ;
@@ -215,7 +217,7 @@ static inline void mca_pml_ob1_rget_hdr_prepare (mca_pml_ob1_rget_hdr_t *hdr, ui
215
217
*/
216
218
struct mca_pml_ob1_frag_hdr_t {
217
219
mca_pml_ob1_common_hdr_t hdr_common ; /**< common attributes */
218
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT
220
+ #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT || OPAL_ENABLE_DEBUG
219
221
uint8_t hdr_padding [6 ];
220
222
#endif
221
223
uint64_t hdr_frag_offset ; /**< offset into message */
@@ -229,7 +231,7 @@ static inline void mca_pml_ob1_frag_hdr_prepare (mca_pml_ob1_frag_hdr_t *hdr, ui
229
231
uint64_t hdr_dst_req )
230
232
{
231
233
mca_pml_ob1_common_hdr_prepare (& hdr -> hdr_common , MCA_PML_OB1_HDR_TYPE_FRAG , hdr_flags );
232
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT && OPAL_ENABLE_DEBUG
234
+ #if OPAL_ENABLE_DEBUG
233
235
hdr -> hdr_padding [0 ] = 0 ;
234
236
hdr -> hdr_padding [1 ] = 0 ;
235
237
hdr -> hdr_padding [2 ] = 0 ;
@@ -260,7 +262,7 @@ static inline void mca_pml_ob1_frag_hdr_prepare (mca_pml_ob1_frag_hdr_t *hdr, ui
260
262
261
263
struct mca_pml_ob1_ack_hdr_t {
262
264
mca_pml_ob1_common_hdr_t hdr_common ; /**< common attributes */
263
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT
265
+ #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT || OPAL_ENABLE_DEBUG
264
266
uint8_t hdr_padding [6 ];
265
267
#endif
266
268
opal_ptr_t hdr_src_req ; /**< source request */
@@ -275,7 +277,7 @@ static inline void mca_pml_ob1_ack_hdr_prepare (mca_pml_ob1_ack_hdr_t *hdr, uint
275
277
uint64_t hdr_send_offset , uint64_t hdr_send_size )
276
278
{
277
279
mca_pml_ob1_common_hdr_prepare (& hdr -> hdr_common , MCA_PML_OB1_HDR_TYPE_ACK , hdr_flags );
278
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT && OPAL_ENABLE_DEBUG
280
+ #if OPAL_ENABLE_DEBUG
279
281
hdr -> hdr_padding [0 ] = 0 ;
280
282
hdr -> hdr_padding [1 ] = 0 ;
281
283
hdr -> hdr_padding [2 ] = 0 ;
@@ -313,8 +315,8 @@ static inline void mca_pml_ob1_ack_hdr_prepare (mca_pml_ob1_ack_hdr_t *hdr, uint
313
315
314
316
struct mca_pml_ob1_rdma_hdr_t {
315
317
mca_pml_ob1_common_hdr_t hdr_common ; /**< common attributes */
316
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT
317
- uint8_t hdr_padding [2 ]; /** two to pad out the hdr to a 4 byte alignment. hdr_req will then be 8 byte aligned after 4 for hdr_seg_cnt */
318
+ #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT || OPAL_ENABLE_DEBUG
319
+ uint8_t hdr_padding [6 ]; /** two to pad out the hdr to a 4 byte alignment. hdr_req will then be 8 byte aligned after 4 for hdr_seg_cnt */
318
320
#endif
319
321
/* TODO: add real support for multiple destination segments */
320
322
opal_ptr_t hdr_req ; /**< destination request */
@@ -334,9 +336,13 @@ static inline void mca_pml_ob1_rdma_hdr_prepare (mca_pml_ob1_rdma_hdr_t *hdr, ui
334
336
size_t local_handle_size )
335
337
{
336
338
mca_pml_ob1_common_hdr_prepare (& hdr -> hdr_common , MCA_PML_OB1_HDR_TYPE_PUT , hdr_flags );
337
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT && OPAL_ENABLE_DEBUG
339
+ #if OPAL_ENABLE_DEBUG
338
340
hdr -> hdr_padding [0 ] = 0 ;
339
341
hdr -> hdr_padding [1 ] = 0 ;
342
+ hdr -> hdr_padding [2 ] = 0 ;
343
+ hdr -> hdr_padding [3 ] = 0 ;
344
+ hdr -> hdr_padding [4 ] = 0 ;
345
+ hdr -> hdr_padding [5 ] = 0 ;
340
346
#endif
341
347
hdr -> hdr_req .lval = hdr_req ;
342
348
hdr -> hdr_frag .pval = hdr_frag ;
@@ -371,8 +377,8 @@ static inline void mca_pml_ob1_rdma_hdr_prepare (mca_pml_ob1_rdma_hdr_t *hdr, ui
371
377
372
378
struct mca_pml_ob1_fin_hdr_t {
373
379
mca_pml_ob1_common_hdr_t hdr_common ; /**< common attributes */
374
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT
375
- uint8_t hdr_padding [2 ];
380
+ #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT || OPAL_ENABLE_DEBUG
381
+ uint8_t hdr_padding [6 ];
376
382
#endif
377
383
int64_t hdr_size ; /**< number of bytes completed (positive), error code (negative) */
378
384
opal_ptr_t hdr_frag ; /**< completed RDMA fragment */
@@ -383,9 +389,13 @@ static inline void mca_pml_ob1_fin_hdr_prepare (mca_pml_ob1_fin_hdr_t *hdr, uint
383
389
uint64_t hdr_frag , int64_t hdr_size )
384
390
{
385
391
mca_pml_ob1_common_hdr_prepare (& hdr -> hdr_common , MCA_PML_OB1_HDR_TYPE_FIN , hdr_flags );
386
- #if OPAL_ENABLE_HETEROGENEOUS_SUPPORT && OPAL_ENABLE_DEBUG
392
+ #if OPAL_ENABLE_DEBUG
387
393
hdr -> hdr_padding [0 ] = 0 ;
388
394
hdr -> hdr_padding [1 ] = 0 ;
395
+ hdr -> hdr_padding [2 ] = 0 ;
396
+ hdr -> hdr_padding [3 ] = 0 ;
397
+ hdr -> hdr_padding [4 ] = 0 ;
398
+ hdr -> hdr_padding [5 ] = 0 ;
389
399
#endif
390
400
hdr -> hdr_frag .lval = hdr_frag ;
391
401
hdr -> hdr_size = hdr_size ;
0 commit comments