[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2b1-91-g1be5fc4
Service Account
noreply at mpich.org
Wed Apr 22 11:01:14 CDT 2015
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via 1be5fc4978fd14b94bbd60602edcdb56debfb1ec (commit)
from 51512b7d5428d74c5d8ddae691b993596d570e7f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/1be5fc4978fd14b94bbd60602edcdb56debfb1ec
commit 1be5fc4978fd14b94bbd60602edcdb56debfb1ec
Author: Ken Raffenetti <raffenet at mcs.anl.gov>
Date: Wed Apr 22 10:43:34 2015 -0500
mxm: fix anysource_matched
The return value of anysource_matched should be the actual result
of the cancel operation. If the result is uncancelable, i.e. already
matched, then CH3 will let the netmod message win and move on to the
other requests in the queue. When the completion for the unsuccessfully
canceled message comes in, we process it like normal.
Reviewed-by: Igor Ivanov <Igor.Ivanov at itseez.com>
Signed-off-by: Antonio J. Pena <apenya at mcs.anl.gov>
diff --git a/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_poll.c b/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_poll.c
index 752a1f9..e044f6c 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_poll.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_poll.c
@@ -133,7 +133,7 @@ int MPID_nem_mxm_anysource_matched(MPID_Request * req)
req_area = REQ_BASE(req);
ret = mxm_req_cancel_recv(&req_area->mxm_req->item.recv);
mxm_req_wait(&req_area->mxm_req->item.base);
- if ((MXM_OK != ret) && (MXM_ERR_NO_PROGRESS != ret)) {
+ if (req_area->mxm_req->item.base.error != MXM_ERR_CANCELED) {
matched = TRUE;
}
@@ -225,7 +225,7 @@ int MPID_nem_mxm_recv(MPIDI_VC_t * vc, MPID_Request * rreq)
static int _mxm_handle_rreq(MPID_Request * req)
{
- int complete = FALSE;
+ int complete = FALSE, found = FALSE;
int dt_contig;
MPI_Aint dt_true_lb ATTRIBUTE((unused));
MPIDI_msg_sz_t userbuf_sz;
@@ -236,10 +236,12 @@ static int _mxm_handle_rreq(MPID_Request * req)
void *tmp_buf = NULL;
MPIU_THREAD_CS_ENTER(MSGQUEUE, req);
- complete = MPIDI_CH3U_Recvq_DP(req);
+ found = MPIDI_CH3U_Recvq_DP(req);
MPIU_THREAD_CS_EXIT(MSGQUEUE, req);
- if (!complete) {
- return TRUE;
+ /* an MPI_ANY_SOURCE request may have been previously removed from the
+ CH3 queue by an FDP (find and dequeue posted) operation */
+ if (req->dev.match.parts.rank != MPI_ANY_SOURCE) {
+ MPIU_Assert(found);
}
MPIDI_Datatype_get_info(req->dev.user_count, req->dev.datatype, dt_contig, userbuf_sz, dt_ptr,
-----------------------------------------------------------------------
Summary of changes:
.../ch3/channels/nemesis/netmod/mxm/mxm_poll.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list