From 1f6a008d060e1ffc86348cfa7a9750688d871314 Mon Sep 17 00:00:00 2001 From: Augustin Degomme Date: Tue, 11 Jan 2022 21:04:03 +0100 Subject: [PATCH] fix test action ti-tracing, it needs to behave like a wait --- src/instr/instr_private.hpp | 2 +- src/smpi/bindings/smpi_pmpi_request.cpp | 6 ++++-- src/smpi/internals/smpi_replay.cpp | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/instr/instr_private.hpp b/src/instr/instr_private.hpp index 33516a39ca..40d2e0726b 100644 --- a/src/instr/instr_private.hpp +++ b/src/instr/instr_private.hpp @@ -205,7 +205,7 @@ class WaitTIData : public TIData { int tag_; public: - WaitTIData(int src, int dest, int tag) : TIData("wait"), src_(src), dest_(dest), tag_(tag){}; + WaitTIData(std::string name, int src, int dest, int tag) : TIData(name), src_(src), dest_(dest), tag_(tag){}; std::string print() override { diff --git a/src/smpi/bindings/smpi_pmpi_request.cpp b/src/smpi/bindings/smpi_pmpi_request.cpp index a41a30618d..527e60b086 100644 --- a/src/smpi/bindings/smpi_pmpi_request.cpp +++ b/src/smpi/bindings/smpi_pmpi_request.cpp @@ -464,7 +464,9 @@ int PMPI_Test(MPI_Request * request, int *flag, MPI_Status * status) } else { aid_t my_proc_id = ((*request)->comm() != MPI_COMM_NULL) ? simgrid::s4u::this_actor::get_pid() : -1; - TRACE_smpi_comm_in(my_proc_id, __func__, new simgrid::instr::NoOpTIData("test")); + TRACE_smpi_comm_in(my_proc_id, __func__, new simgrid::instr::WaitTIData("test", MPI_COMM_WORLD->group()->rank((*request)->src()), + MPI_COMM_WORLD->group()->rank((*request)->dst()), + (*request)->tag()));; retval = simgrid::smpi::Request::test(request,status, flag); TRACE_smpi_comm_out(my_proc_id); @@ -599,7 +601,7 @@ int PMPI_Wait(MPI_Request * request, MPI_Status * status) aid_t my_proc_id = (*request)->comm() != MPI_COMM_NULL ? simgrid::s4u::this_actor::get_pid() : -1; TRACE_smpi_comm_in(my_proc_id, __func__, - new simgrid::instr::WaitTIData(MPI_COMM_WORLD->group()->rank((*request)->src()), + new simgrid::instr::WaitTIData("wait", MPI_COMM_WORLD->group()->rank((*request)->src()), MPI_COMM_WORLD->group()->rank((*request)->dst()), (*request)->tag())); diff --git a/src/smpi/internals/smpi_replay.cpp b/src/smpi/internals/smpi_replay.cpp index a45fd2a753..8ea0c90540 100644 --- a/src/smpi/internals/smpi_replay.cpp +++ b/src/smpi/internals/smpi_replay.cpp @@ -433,7 +433,7 @@ void WaitAction::kernel(simgrid::xbt::ReplayAction& action) // MPI_REQUEST_NULL by Request::wait! bool is_wait_for_receive = (request->flags() & MPI_REQ_RECV); - TRACE_smpi_comm_in(get_pid(), __func__, new simgrid::instr::WaitTIData(args.src, args.dst, args.tag)); + TRACE_smpi_comm_in(get_pid(), __func__, new simgrid::instr::WaitTIData("wait", args.src, args.dst, args.tag)); MPI_Status status; Request::wait(&request, &status); @@ -532,7 +532,7 @@ void TestAction::kernel(simgrid::xbt::ReplayAction&) // Different times in traced application and replayed version may lead to this // In this case, ignore the extra calls. if (request != MPI_REQUEST_NULL) { - TRACE_smpi_comm_in(get_pid(), __func__, new simgrid::instr::NoOpTIData("test")); + TRACE_smpi_comm_in(get_pid(), __func__, new simgrid::instr::WaitTIData("test", args.src, args.dst, args.tag)); MPI_Status status; int flag = 0; -- 2.20.1