osc/rdma: fix test/wait hang
There are differences between how active and passive messages are accounted for in this component. Active message counts on the sender side are set to zero before the control message is sent so we do not have to add one to the expected number of messages or we end up double counting the control message. This commit should fix that error. Fixes regression in one-sided/test_rma1 cmr=v1.8:reviewer=jsquyres This commit was SVN r31281.
Этот коммит содержится в:
родитель
28609d3ac2
Коммит
ee7a1478ee
@ -1323,12 +1323,14 @@ static inline int process_complete (ompi_osc_rdma_module_t *module, int source,
|
||||
ompi_osc_rdma_header_complete_t *complete_header)
|
||||
{
|
||||
OPAL_OUTPUT_VERBOSE((50, ompi_osc_base_framework.framework_output,
|
||||
"osc rdma: process_complete got complete message from %d", source));
|
||||
"osc rdma: process_complete got complete message from %d. expected fragment count %d",
|
||||
source, complete_header->frag_count));
|
||||
|
||||
OPAL_THREAD_LOCK(&module->lock);
|
||||
|
||||
/* the current fragment is not part of the frag_count so we need to adjust for it */
|
||||
module->active_incoming_frag_signal_count += complete_header->frag_count + 1;
|
||||
/* the current fragment is not part of the frag_count but it doesn't need be be adjusted
|
||||
* for here */
|
||||
module->active_incoming_frag_signal_count += complete_header->frag_count;
|
||||
module->num_complete_msgs++;
|
||||
|
||||
if (0 == module->num_complete_msgs) {
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user