- Add missing PERUSE_COMM_REQ_REMOVE_FROM_POSTED_Q when matching
from the posted generic_recv-queue. - Move the PERUSE_COMM_MSG_MATCH_POSTED_REQ from MCA_PML_OB1_RECV_REQUEST_MATCHED to mca_pml_ob1_recv_frag_match() as suggested by Terry Dontje Only post, if this is not a probe/iprobe request. - Do not post PERUSE_COMM_REQ_MATCH_UNEX for probes / iprobes and do in correct order before PERUSE_COMM_MSG_REMOVE_FROM_UNEX_Q This commit was SVN r15947.
Этот коммит содержится в:
родитель
c175801f98
Коммит
1b5fa48a29
@ -5,7 +5,7 @@
|
|||||||
* Copyright (c) 2004-2006 The University of Tennessee and The University
|
* Copyright (c) 2004-2006 The University of Tennessee and The University
|
||||||
* of Tennessee Research Foundation. All rights
|
* of Tennessee Research Foundation. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
* Copyright (c) 2004-2007 High Performance Computing Center Stuttgart,
|
||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
@ -244,6 +244,9 @@ void mca_pml_ob1_recv_frag_callback( mca_btl_base_module_t* btl,
|
|||||||
/* remove descriptor from posted specific ireceive list */ \
|
/* remove descriptor from posted specific ireceive list */ \
|
||||||
opal_list_remove_item(generic_receives, \
|
opal_list_remove_item(generic_receives, \
|
||||||
(opal_list_item_t *)generic_recv); \
|
(opal_list_item_t *)generic_recv); \
|
||||||
|
PERUSE_TRACE_COMM_EVENT (PERUSE_COMM_REQ_REMOVE_FROM_POSTED_Q, \
|
||||||
|
&(generic_recv->req_recv.req_base), \
|
||||||
|
PERUSE_RECV); \
|
||||||
\
|
\
|
||||||
} \
|
} \
|
||||||
} while(0)
|
} while(0)
|
||||||
@ -556,7 +559,13 @@ rematch:
|
|||||||
/* attempt to match actual request */
|
/* attempt to match actual request */
|
||||||
match = NULL;
|
match = NULL;
|
||||||
goto rematch;
|
goto rematch;
|
||||||
|
} else {
|
||||||
|
if( (match->req_recv.req_base.req_type != MCA_PML_REQUEST_IPROBE) ) {
|
||||||
|
PERUSE_TRACE_COMM_EVENT( PERUSE_COMM_MSG_MATCH_POSTED_REQ,
|
||||||
|
&(match->req_recv.req_base), PERUSE_RECV);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
/* if no match found, place on unexpected queue */
|
/* if no match found, place on unexpected queue */
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Copyright (c) 2004-2007 The University of Tennessee and The University
|
* Copyright (c) 2004-2007 The University of Tennessee and The University
|
||||||
* of Tennessee Research Foundation. All rights
|
* of Tennessee Research Foundation. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
* Copyright (c) 2004-2007 High Performance Computing Center Stuttgart,
|
||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
@ -932,14 +932,17 @@ static mca_pml_ob1_recv_frag_t* mca_pml_ob1_recv_request_match_specific_proc(
|
|||||||
request->req_recv.req_base.req_proc = proc->ompi_proc;
|
request->req_recv.req_base.req_proc = proc->ompi_proc;
|
||||||
if( !((MCA_PML_REQUEST_IPROBE == request->req_recv.req_base.req_type) ||
|
if( !((MCA_PML_REQUEST_IPROBE == request->req_recv.req_base.req_type) ||
|
||||||
(MCA_PML_REQUEST_PROBE == request->req_recv.req_base.req_type)) ) {
|
(MCA_PML_REQUEST_PROBE == request->req_recv.req_base.req_type)) ) {
|
||||||
|
|
||||||
|
PERUSE_TRACE_COMM_EVENT( PERUSE_COMM_REQ_MATCH_UNEX,
|
||||||
|
&(request->req_recv.req_base), PERUSE_RECV );
|
||||||
|
|
||||||
PERUSE_TRACE_MSG_EVENT( PERUSE_COMM_MSG_REMOVE_FROM_UNEX_Q,
|
PERUSE_TRACE_MSG_EVENT( PERUSE_COMM_MSG_REMOVE_FROM_UNEX_Q,
|
||||||
request->req_recv.req_base.req_comm,
|
request->req_recv.req_base.req_comm,
|
||||||
hdr->hdr_src, hdr->hdr_tag, PERUSE_RECV );
|
hdr->hdr_src, hdr->hdr_tag, PERUSE_RECV );
|
||||||
opal_list_remove_item(unexpected_frags, (opal_list_item_t*)frag);
|
opal_list_remove_item(unexpected_frags, (opal_list_item_t*)frag);
|
||||||
frag->request = request;
|
frag->request = request;
|
||||||
}
|
}
|
||||||
PERUSE_TRACE_COMM_EVENT( PERUSE_COMM_REQ_MATCH_UNEX,
|
|
||||||
&(request->req_recv.req_base), PERUSE_RECV );
|
|
||||||
return frag;
|
return frag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Copyright (c) 2004-2007 The University of Tennessee and The University
|
* Copyright (c) 2004-2007 The University of Tennessee and The University
|
||||||
* of Tennessee Research Foundation. All rights
|
* of Tennessee Research Foundation. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
* Copyright (c) 2004-2007 High Performance Computing Center Stuttgart,
|
||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
@ -245,9 +245,6 @@ do {
|
|||||||
(request)->req_recv.req_base.req_ompi.req_status.MPI_SOURCE = (hdr)->hdr_src; \
|
(request)->req_recv.req_base.req_ompi.req_status.MPI_SOURCE = (hdr)->hdr_src; \
|
||||||
(request)->req_recv.req_base.req_ompi.req_status.MPI_TAG = (hdr)->hdr_tag; \
|
(request)->req_recv.req_base.req_ompi.req_status.MPI_TAG = (hdr)->hdr_tag; \
|
||||||
\
|
\
|
||||||
PERUSE_TRACE_COMM_EVENT( PERUSE_COMM_MSG_MATCH_POSTED_REQ, \
|
|
||||||
&((request)->req_recv.req_base), PERUSE_RECV ); \
|
|
||||||
\
|
|
||||||
if((request)->req_recv.req_bytes_packed > 0) { \
|
if((request)->req_recv.req_bytes_packed > 0) { \
|
||||||
if( MPI_ANY_SOURCE == (request)->req_recv.req_base.req_peer ) { \
|
if( MPI_ANY_SOURCE == (request)->req_recv.req_base.req_peer ) { \
|
||||||
ompi_convertor_copy_and_prepare_for_recv( \
|
ompi_convertor_copy_and_prepare_for_recv( \
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user