From 66c9485e77f7da9a212ae67c88a21f95f13e6652 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Mon, 7 Mar 2016 14:28:45 +0900 Subject: [PATCH] MPI_Isend: memchecker do not mark send buffer as unaccessible after pml isend invokation Today's MPI standard mandates the send buffer remains accessible during the send operation. Signed-off-by: Gilles Gouaillardet --- ompi/mpi/c/isend.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ompi/mpi/c/isend.c b/ompi/mpi/c/isend.c index 0723b1b026..5e56deed67 100644 --- a/ompi/mpi/c/isend.c +++ b/ompi/mpi/c/isend.c @@ -13,7 +13,7 @@ * Copyright (c) 2006-2007 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2013 Los Alamos National Security, LLC. All rights * reserved. - * Copyright (c) 2015 Research Organization for Information Science + * Copyright (c) 2015-2017 Research Organization for Information Science * and Technology (RIST). All rights reserved. * $COPYRIGHT$ * @@ -82,9 +82,13 @@ int MPI_Isend(const void *buf, int count, MPI_Datatype type, int dest, OPAL_CR_ENTER_LIBRARY(); - MEMCHECKER ( - memchecker_call(&opal_memchecker_base_mem_noaccess, buf, count, type); - ); + /* + * today's MPI standard mandates the send buffer remains accessible during the send operation + * hence memchecker cannot mark buf as non accessible, but it might mark buf as read-only in + * order to trap end user errors. Unfortunatly valgrind does not support marking buffers as read-only, + * so there is pretty much nothing we can do here. + */ + rc = MCA_PML_CALL(isend(buf, count, type, dest, tag, MCA_PML_BASE_SEND_STANDARD, comm, request)); OMPI_ERRHANDLER_RETURN(rc, comm, rc, FUNC_NAME);