From b38f2890e99407204935706b102958b6819dc13d Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Mon, 20 Feb 2023 19:15:17 +0100 Subject: [PATCH] There's no need to compute the total transition count anymore. --- src/mc/api/RemoteApp.cpp | 14 -------------- src/mc/remote/AppSide.cpp | 3 --- src/mc/remote/mc_protocol.h | 1 - 3 files changed, 18 deletions(-) diff --git a/src/mc/api/RemoteApp.cpp b/src/mc/api/RemoteApp.cpp index 66b7bcaed4..aece6f867f 100644 --- a/src/mc/api/RemoteApp.cpp +++ b/src/mc/api/RemoteApp.cpp @@ -94,11 +94,6 @@ void RemoteApp::get_actors_status(std::map& whereto) const // Message sanity checks xbt_assert(answer.count >= 0, "Received an ACTOR_STATUS_REPLY message with an actor count of '%d' < 0", answer.count); - xbt_assert(answer.transition_count >= 0, "Received an ACTOR_STATUS_REPLY message with transition_count '%d' < 0", - answer.transition_count); - xbt_assert(answer.transition_count == 0 || answer.count >= 0, - "Received an ACTOR_STATUS_REPLY message with no actor data " - "but with transition data nonetheless"); std::vector status(answer.count); if (answer.count > 0) { @@ -107,15 +102,6 @@ void RemoteApp::get_actors_status(std::map& whereto) const xbt_assert(static_cast(received) == size); } - // Ensures that each actor sends precisely `answer.transition_count` transitions. While technically - // this doesn't catch the edge case where actor A sends 3 instead of 2 and actor B sends 2 instead - // of 3 transitions, that is ignored here since that invariant needs to be enforced on the AppSide - const auto expected_transitions = std::accumulate( - status.begin(), status.end(), 0, [](int total, const auto& actor) { return total + actor.n_transitions; }); - xbt_assert(expected_transitions == answer.transition_count, - "Expected to receive %d transition(s) but was only notified of %d by the app side", expected_transitions, - answer.transition_count); - whereto.clear(); for (const auto& actor : status) { diff --git a/src/mc/remote/AppSide.cpp b/src/mc/remote/AppSide.cpp index 7e642f61b7..329918978d 100644 --- a/src/mc/remote/AppSide.cpp +++ b/src/mc/remote/AppSide.cpp @@ -163,21 +163,18 @@ void AppSide::handle_actors_status() const std::vector status(num_actors); int i = 0; - int total_transitions = 0; for (auto const& [aid, actor] : actor_list) { status[i].aid = aid; status[i].enabled = mc::actor_is_enabled(actor); status[i].max_considered = actor->simcall_.observer_->get_max_consider(); status[i].n_transitions = mc::actor_is_enabled(actor) ? status[i].max_considered : 0; - total_transitions += status[i].n_transitions; i++; } struct s_mc_message_actors_status_answer_t answer = {}; answer.type = MessageType::ACTORS_STATUS_REPLY; answer.count = num_actors; - answer.transition_count = total_transitions; xbt_assert(channel_.send(answer) == 0, "Could not send ACTORS_STATUS_REPLY msg"); if (answer.count > 0) { diff --git a/src/mc/remote/mc_protocol.h b/src/mc/remote/mc_protocol.h index 108128449a..caa405b843 100644 --- a/src/mc/remote/mc_protocol.h +++ b/src/mc/remote/mc_protocol.h @@ -104,7 +104,6 @@ struct s_mc_message_restore_t { struct s_mc_message_actors_status_answer_t { simgrid::mc::MessageType type; int count; - int transition_count; // The total number of transitions sent as a payload to the checker }; struct s_mc_message_actors_status_one_t { // an array of `s_mc_message_actors_status_one_t[count]` is sent right after // after a `s_mc_message_actors_status_answer_t` -- 2.20.1