1
1

Add a base _START macro that will do the base initialization. Additinaly, that allow me to

add the PERUSE event is a more homogeneous manner (all PML's will have them).

This commit was SVN r9499.
Этот коммит содержится в:
George Bosilca 2006-03-31 17:05:09 +00:00
родитель 988ba2af24
Коммит 1226d452bf
2 изменённых файлов: 43 добавлений и 2 удалений

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

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -23,6 +23,7 @@
#include "ompi/mca/pml/base/pml_base_request.h"
#include "ompi/datatype/convertor.h"
#include "ompi/peruse/peruse-internal.h"
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
@ -78,7 +79,29 @@ OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_pml_base_recv_request_t);
(request)->req_base.req_proc = NULL; \
(request)->req_base.req_pml_complete = (persistent ? true : false); \
(request)->req_base.req_free_called = false; \
\
PERUSE_TRACE_COMM_EVENT (PERUSE_COMM_REQ_ACTIVATE, \
&((request)->req_base), \
PERUSE_RECV); \
}
/**
*
*
*/
#define MCA_PML_BASE_RECV_START( request ) \
do { \
(request)->req_pml_complete = false; \
(request)->req_ompi.req_complete = false; \
(request)->req_ompi.req_state = OMPI_REQUEST_ACTIVE; \
\
/* always set the req_status.MPI_TAG to ANY_TAG before starting the \
* request. This field is used if cancelled to find out if the request \
* has been matched or not. \
*/ \
(request)->req_ompi.req_status.MPI_TAG = OMPI_ANY_TAG; \
(request)->req_ompi.req_status.MPI_ERROR = OMPI_SUCCESS; \
(request)->req_ompi.req_status._cancelled = 0; \
} while (0)
/**
* Return a receive request. Handle the release of the communicator and the

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

@ -2,7 +2,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -26,6 +26,7 @@
#include "ompi/mca/pml/base/pml_base_request.h"
#include "ompi/datatype/datatype.h"
#include "ompi/datatype/convertor.h"
#include "ompi/peruse/peruse-internal.h"
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
@ -112,8 +113,25 @@ typedef struct mca_pml_base_send_request_t mca_pml_base_send_request_t;
} else { \
(request)->req_bytes_packed = 0; \
} \
PERUSE_TRACE_COMM_EVENT (PERUSE_COMM_REQ_ACTIVATE, \
&(request)->req_base, \
PERUSE_SEND); \
}
/**
* Mark the request as started from the PML base point of view.
*
* @param request (IN) The send request.
*/
#define MCA_PML_BASE_SEND_START( request ) \
do { \
(request)->req_pml_complete = false; \
(request)->req_ompi.req_complete = false; \
(request)->req_ompi.req_state = OMPI_REQUEST_ACTIVE; \
(request)->req_ompi.req_status._cancelled = 0; \
} while (0)
/**
* Release the ref counts on the communicator and datatype.
*