1. Set segments length in prepare_src() after packing because actual size may be
smaller then allocated size. 2. If reserve zero don't allocate coalesced frag since it will be RDMAed, not send. The logic was other way around. This commit was SVN r16928.
Этот коммит содержится в:
родитель
d47ea89181
Коммит
2a59b2a68f
@ -785,8 +785,9 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_src(
|
||||
}
|
||||
|
||||
frag = (mca_btl_openib_com_frag_t*)(reserve ?
|
||||
ib_frag_alloc(openib_btl, max_data + reserve, order, flags) :
|
||||
mca_btl_openib_alloc(btl, endpoint, order, max_data, flags));
|
||||
mca_btl_openib_alloc(btl, endpoint, order, max_data + reserve,
|
||||
flags) :
|
||||
ib_frag_alloc(openib_btl, max_data, order, flags));
|
||||
|
||||
if(NULL == frag)
|
||||
return NULL;
|
||||
@ -798,6 +799,9 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_src(
|
||||
|
||||
*size = max_data;
|
||||
|
||||
/* not all upper layer users set this */
|
||||
to_base_frag(frag)->segment.seg_len = max_data + reserve;
|
||||
|
||||
return &to_base_frag(frag)->base;
|
||||
}
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user