* Throttle the number of incoming receives so that we don't overrun our receive
event queue and lose receive messages. This commit was SVN r9006.
Этот коммит содержится в:
родитель
20d06e889e
Коммит
08747dcaf8
@ -205,7 +205,7 @@ mca_btl_portals_component_open(void)
|
||||
&dummy);
|
||||
mca_btl_portals_module.super.btl_bandwidth = dummy;
|
||||
|
||||
#if 0
|
||||
#if 1
|
||||
mca_btl_portals_module.super.btl_flags = MCA_BTL_FLAGS_RDMA | MCA_BTL_FLAGS_SEND_INPLACE;
|
||||
#else
|
||||
mca_btl_portals_module.super.btl_flags = MCA_BTL_FLAGS_RDMA;
|
||||
@ -472,7 +472,8 @@ mca_btl_portals_component_progress(void)
|
||||
OPAL_OUTPUT_VERBOSE((90, mca_btl_portals_component.portals_output,
|
||||
"received send fragment %x", frag));
|
||||
|
||||
if (ev.md.length - (ev.offset + ev.mlength) < ev.md.max_size) {
|
||||
if (ev.md.length - (ev.offset + ev.mlength) < ev.md.max_size ||
|
||||
ev.md.threshold == 0) {
|
||||
/* the block is full. It's deactivated automagically, but we
|
||||
can't start it up again until everyone is done with it.
|
||||
The actual reactivation and all that will happen after the
|
||||
|
@ -94,7 +94,10 @@ mca_btl_portals_activate_block(mca_btl_portals_recv_block_t *block)
|
||||
/* and the memory descriptor */
|
||||
md.start = block->start;
|
||||
md.length = block->length;
|
||||
md.threshold = PTL_MD_THRESH_INF;
|
||||
/* try to throttle incoming sends so that we don't overrun the incoming
|
||||
queue size */
|
||||
md.threshold = mca_btl_portals_module.portals_eq_sizes[OMPI_BTL_PORTALS_EQ] /
|
||||
mca_btl_portals_module.portals_recv_mds_num;
|
||||
md.max_size = block->btl->super.btl_max_send_size;
|
||||
md.options = PTL_MD_OP_PUT | PTL_MD_MAX_SIZE;
|
||||
md.user_ptr = block;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user