X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4c427bd273d7f90bbe5233b6fe8d20bfd945ea4b..e6dcda80c72f6c1c092cf257c308812fe4442599:/src/mc/mc_comm_pattern.hpp diff --git a/src/mc/mc_comm_pattern.hpp b/src/mc/mc_comm_pattern.hpp index 204889ebb7..ca221ea58d 100644 --- a/src/mc/mc_comm_pattern.hpp +++ b/src/mc/mc_comm_pattern.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2007-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2007-2020. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -9,62 +9,58 @@ #include #include "smpi/smpi.h" - #include "src/mc/mc_state.hpp" namespace simgrid { namespace mc { +enum class CallType { + NONE, + SEND, + RECV, + WAIT, + WAITANY, +}; + +enum class CommPatternDifference { + NONE, + TYPE, + RDV, + TAG, + SRC_PROC, + DST_PROC, + DATA_SIZE, + DATA, +}; + struct PatternCommunicationList { unsigned int index_comm = 0; std::vector> list; }; -} -} +} // namespace mc +} // namespace simgrid extern XBT_PRIVATE std::vector initial_communications_pattern; extern XBT_PRIVATE std::vector> incomplete_communications_pattern; -enum e_mc_call_type_t { - MC_CALL_TYPE_NONE, - MC_CALL_TYPE_SEND, - MC_CALL_TYPE_RECV, - MC_CALL_TYPE_WAIT, - MC_CALL_TYPE_WAITANY, -}; - -enum e_mc_comm_pattern_difference_t { - NONE_DIFF, - TYPE_DIFF, - RDV_DIFF, - TAG_DIFF, - SRC_PROC_DIFF, - DST_PROC_DIFF, - DATA_SIZE_DIFF, - DATA_DIFF, -}; - -static inline e_mc_call_type_t MC_get_call_type(smx_simcall_t req) +static inline simgrid::mc::CallType MC_get_call_type(const s_smx_simcall* req) { - switch (req->call) { - case SIMCALL_COMM_ISEND: - return MC_CALL_TYPE_SEND; - case SIMCALL_COMM_IRECV: - return MC_CALL_TYPE_RECV; - case SIMCALL_COMM_WAIT: - return MC_CALL_TYPE_WAIT; - case SIMCALL_COMM_WAITANY: - return MC_CALL_TYPE_WAITANY; + using simgrid::mc::CallType; + using simgrid::simix::Simcall; + switch (req->call_) { + case Simcall::COMM_ISEND: + return CallType::SEND; + case Simcall::COMM_IRECV: + return CallType::RECV; + case Simcall::COMM_WAIT: + return CallType::WAIT; + case Simcall::COMM_WAITANY: + return CallType::WAITANY; default: - return MC_CALL_TYPE_NONE; + return CallType::NONE; } } -XBT_PRIVATE void MC_handle_comm_pattern(e_mc_call_type_t call_type, smx_simcall_t request, int value, int backtracking); - XBT_PRIVATE void MC_restore_communications_pattern(simgrid::mc::State* state); -XBT_PRIVATE void MC_state_copy_incomplete_communications_pattern(simgrid::mc::State* state); -XBT_PRIVATE void MC_state_copy_index_communications_pattern(simgrid::mc::State* state); - #endif