Remove use of ompi_ptr_ltop in BTLs. This fixes a crash seen on big-endian 32-bit platforms with MPI one-sided.
This commit was SVN r26776.
Этот коммит содержится в:
родитель
772ec212eb
Коммит
4c0c937953
@ -508,7 +508,7 @@ static int mca_btl_elan_put( mca_btl_base_module_t* btl,
|
||||
mca_btl_base_segment_t* dst = des->des_dst;
|
||||
unsigned char* src_addr = (unsigned char*)src->seg_addr.pval;
|
||||
size_t src_len = src->seg_len;
|
||||
unsigned char* dst_addr = (unsigned char*)ompi_ptr_ltop(dst->seg_addr.lval);
|
||||
unsigned char* dst_addr = (unsigned char*)dst->seg_addr.pval;
|
||||
|
||||
frag->endpoint = endpoint;
|
||||
frag->btl = elan_btl;
|
||||
|
@ -461,7 +461,7 @@ advance_iov_position11:
|
||||
goto repeat11;
|
||||
} else if (frag->iov_idx == 2) {
|
||||
for(i=0; i<frag->hdr.count; i++) {
|
||||
frag->iov[i+2].iov_base = (IOVBASE_TYPE*)ompi_ptr_ltop(frag->segments[i].seg_addr.lval);
|
||||
frag->iov[i+2].iov_base = (IOVBASE_TYPE*) frag->segments[i].seg_addr.pval;
|
||||
frag->iov[i+2].iov_len = frag->segments[i].seg_len;
|
||||
frag->iov_cnt++;
|
||||
}
|
||||
@ -620,7 +620,7 @@ ret_false:
|
||||
goto repeat;
|
||||
} else if (frag->iov_idx == 2) {
|
||||
for(i=0; i<frag->hdr.count; i++) {
|
||||
frag->iov[i+2].iov_base = (IOVBASE_TYPE*)ompi_ptr_ltop(frag->segments[i].seg_addr.lval);
|
||||
frag->iov[i+2].iov_base = (IOVBASE_TYPE*) frag->segments[i].seg_addr.pval;
|
||||
frag->iov[i+2].iov_len = frag->segments[i].seg_len;
|
||||
frag->iov_cnt++;
|
||||
}
|
||||
|
@ -324,7 +324,7 @@ int mca_btl_self_rdma( struct mca_btl_base_module_t* btl,
|
||||
size_t dst_cnt = des->des_dst_cnt;
|
||||
unsigned char* src_addr = (unsigned char*)src->seg_addr.pval;
|
||||
size_t src_len = src->seg_len;
|
||||
unsigned char* dst_addr = (unsigned char*)ompi_ptr_ltop(dst->seg_addr.lval);
|
||||
unsigned char* dst_addr = (unsigned char*)dst->seg_addr.pval;
|
||||
size_t dst_len = dst->seg_len;
|
||||
int btl_ownership = (des->des_flags & MCA_BTL_DES_FLAGS_BTL_OWNERSHIP);
|
||||
|
||||
|
@ -267,7 +267,7 @@ bool mca_btl_tcp_frag_recv(mca_btl_tcp_frag_t* frag, int sd)
|
||||
goto repeat;
|
||||
} else if (frag->iov_idx == 2) {
|
||||
for( i = 0; i < frag->hdr.count; i++ ) {
|
||||
frag->iov[i+2].iov_base = (IOVBASE_TYPE*)ompi_ptr_ltop(frag->segments[i].seg_addr.pval);
|
||||
frag->iov[i+2].iov_base = (IOVBASE_TYPE*)frag->segments[i].seg_addr.pval;
|
||||
frag->iov[i+2].iov_len = frag->segments[i].seg_len;
|
||||
}
|
||||
frag->iov_cnt += frag->hdr.count;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user