X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/57a3400b63da222e6f8286cd4a4f6ad9982f1748..d7b725316b632998ed194144be7b4f4b2d433b55:/src/smpi/smpi_base.c diff --git a/src/smpi/smpi_base.c b/src/smpi/smpi_base.c index f114a57aa1..5ad3fa7b8a 100644 --- a/src/smpi/smpi_base.c +++ b/src/smpi/smpi_base.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2007-2013. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -219,6 +219,7 @@ static MPI_Request build_request(void *buf, int count, request->flags = flags; request->detached = 0; request->detached_sender = NULL; + request->real_src = 0; request->truncated = 0; request->real_size = 0; @@ -320,6 +321,7 @@ void smpi_mpi_start(MPI_Request request) if(request->flags & PREPARED)request->flags &= ~PREPARED; if(request->flags & RECV) { print_request("New recv", request); + //FIXME: if receive is posted with a large size, but send is smaller, mailboxes may not match ! if (request->size < sg_cfg_get_int("smpi/async_small_thres")) mailbox = smpi_process_mailbox_small(); else @@ -345,7 +347,7 @@ void smpi_mpi_start(MPI_Request request) #ifdef HAVE_TRACING int rank = smpi_process_index(); if (TRACE_smpi_view_internals()) { - TRACE_smpi_send(rank, rank, receiver); + TRACE_smpi_send(rank, rank, receiver,request->size); } #endif /* if(receiver == MPI_UNDEFINED) {*/ @@ -443,7 +445,7 @@ MPI_Request smpi_isend_init(void *buf, int count, MPI_Datatype datatype, { MPI_Request request = build_request(buf==MPI_BOTTOM ? (void*)0 : buf , count, datatype, smpi_process_index(), smpi_group_index(smpi_comm_group(comm), dst), tag, - comm, NON_PERSISTENT | SEND | PREPARED); + comm, NON_PERSISTENT | ISEND | SEND | PREPARED); return request; }