1
1

More fixes for leave pinned and pre pinned buffers..

This commit was SVN r6156.
Этот коммит содержится в:
Galen Shipman 2005-06-23 19:57:13 +00:00
родитель 628d4f0915
Коммит a77845f8e6
2 изменённых файлов: 29 добавлений и 8 удалений

Просмотреть файл

@ -240,7 +240,17 @@ mca_bmi_base_descriptor_t* mca_bmi_ib_prepare_src(
ib_bmi = (mca_bmi_ib_module_t*) bmi;
if( max_data+reserve <= bmi->bmi_eager_limit ) {
/** if the data fits in the eager limit and we aren't told to pinn then we
simply pack, if the data fits in the eager limit and the data is non contiguous
then we pack **/
if( (max_data+reserve <= bmi->bmi_eager_limit
&& NULL == registration
&& !mca_bmi_ib_component.leave_pinned)
||
(max_data+reserve <= bmi->bmi_eager_limit
&& 1 == ompi_convertor_need_buffers( convertor ))) {
MCA_BMI_IB_FRAG_ALLOC_EAGER(bmi, frag, rc);
if(NULL == frag) {
return NULL;
@ -265,8 +275,16 @@ mca_bmi_base_descriptor_t* mca_bmi_ib_prepare_src(
frag->base.des_flags = 0;
return &frag->base;
}else if( max_data + reserve <= ib_bmi->super.bmi_max_send_size || 1 == ompi_convertor_need_buffers( convertor) ){
}
/** if the data fits in the max limit and we aren't told to pinn then we
simply pack, if the data is non contiguous then we pack **/
else if((max_data + reserve <= ib_bmi->super.bmi_max_send_size
&& NULL == registration
&& !mca_bmi_ib_component.leave_pinned)
|| 1 == ompi_convertor_need_buffers( convertor)){
MCA_BMI_IB_FRAG_ALLOC_MAX(bmi, frag, rc);
if(NULL == frag) {
return NULL;

Просмотреть файл

@ -129,13 +129,16 @@ int mca_bmi_ib_component_open(void)
mca_bmi_ib_module.super.bmi_exclusivity =
mca_bmi_ib_param_register_int ("exclusivity", 0);
mca_bmi_ib_module.super.bmi_eager_limit =
mca_bmi_ib_param_register_int ("eager_limit",
(64*1024)) - sizeof(mca_bmi_ib_header_t);
mca_bmi_ib_param_register_int ("eager_limit", (64*1024))
- sizeof(mca_bmi_ib_header_t);
mca_bmi_ib_module.super.bmi_min_send_size =
mca_bmi_ib_param_register_int ("min_send_size",
(64*1024))- sizeof(mca_bmi_ib_header_t);
mca_bmi_ib_param_register_int ("min_send_size", (64*1024))
- sizeof(mca_bmi_ib_header_t);
mca_bmi_ib_module.super.bmi_max_send_size =
mca_bmi_ib_param_register_int ("max_send_size", (128*1024)) - sizeof(mca_bmi_ib_header_t);
mca_bmi_ib_param_register_int ("max_send_size", (128*1024))
- sizeof(mca_bmi_ib_header_t);
mca_bmi_ib_module.ib_pin_min =
mca_bmi_ib_param_register_int("ib_pin_min", 128*1024);