1
1

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 <gilles@rist.or.jp>
Этот коммит содержится в:
Gilles Gouaillardet 2016-03-07 14:28:45 +09:00
родитель af8242a121
Коммит 66c9485e77

Просмотреть файл

@ -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);