Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add support of MPI_Test in smpi_replay and TRACING-TI
[simgrid.git] / src / smpi / smpi_pmpi.c
index b42f6a6..63e69db 100644 (file)
@@ -1362,7 +1362,6 @@ int PMPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype,
 int PMPI_Test(MPI_Request * request, int *flag, MPI_Status * status)
 {
   int retval = 0;
-
   smpi_bench_end();
   if (request == NULL || flag == NULL) {
     retval = MPI_ERR_ARG;
@@ -1371,7 +1370,19 @@ int PMPI_Test(MPI_Request * request, int *flag, MPI_Status * status)
     smpi_empty_status(status);
     retval = MPI_ERR_REQUEST;
   } else {
+#ifdef HAVE_TRACING
+    int rank = request && (*request)->comm != MPI_COMM_NULL
+      ? smpi_process_index()
+      : -1;
+
+    instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+    extra->type = TRACING_TEST;
+    TRACE_smpi_testing_in(rank, extra);
+#endif
     *flag = smpi_mpi_test(request, status);
+#ifdef HAVE_TRACING
+    TRACE_smpi_testing_out(rank);
+#endif
     retval = MPI_SUCCESS;
   }
   smpi_bench_begin();