From: Frederic Suter Date: Mon, 25 Feb 2019 18:09:49 +0000 (+0100) Subject: fix last issues X-Git-Tag: v3_22~244 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/6948b4f86e4edb040c18cd233d46be02ab1f4c76 fix last issues + counter_ is used by heaps, use id_ instead + fix dumb find/replace --- diff --git a/src/msg/instr_msg_task.cpp b/src/msg/instr_msg_task.cpp index 76da1db448..36e5cf6d5b 100644 --- a/src/msg/instr_msg_task.cpp +++ b/src/msg/instr_msg_task.cpp @@ -15,11 +15,11 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_msg, instr, "MSG instrumentation"); /* MSG_task_put related functions */ void TRACE_msg_task_put_start(msg_task_t task) { - XBT_DEBUG("PUT,in %p, %lld, %s", task, task->get_counter(), task->get_tracing_category().c_str()); + XBT_DEBUG("PUT,in %p, %lld, %s", task, task->get_id(), task->get_tracing_category().c_str()); if (TRACE_actor_is_enabled()) { container_t process_container = simgrid::instr::Container::by_name(instr_pid(MSG_process_self())); - std::string key = std::string("p") + std::to_string(task->get_counter()); + std::string key = std::string("p") + std::to_string(task->get_id()); simgrid::instr::Container::get_root()->get_link("ACTOR_TASK_LINK")->start_event(process_container, "SR", key); } } diff --git a/src/msg/msg_gos.cpp b/src/msg/msg_gos.cpp index 5738fd5773..a965bea065 100644 --- a/src/msg/msg_gos.cpp +++ b/src/msg/msg_gos.cpp @@ -266,7 +266,7 @@ msg_error_t MSG_task_receive_ext_bounded(msg_task_t * task, const char *alias, d if (TRACE_actor_is_enabled() && ret != MSG_HOST_FAILURE && ret != MSG_TRANSFER_FAILURE && ret != MSG_TIMEOUT) { container_t process_container = simgrid::instr::Container::by_name(instr_pid(MSG_process_self())); - std::string key = std::string("p") + std::to_string((*task)->get_counter()); + std::string key = std::string("p") + std::to_string((*task)->get_id()); simgrid::instr::Container::get_root()->get_link("ACTOR_TASK_LINK")->end_event(process_container, "SR", key); } return ret; diff --git a/src/msg/msg_private.hpp b/src/msg/msg_private.hpp index 14384c6cb4..42fae27d45 100644 --- a/src/msg/msg_private.hpp +++ b/src/msg/msg_private.hpp @@ -11,8 +11,6 @@ #include "src/kernel/activity/ExecImpl.hpp" #include -static long long int msg_task_max_counter = 0; - /**************** datatypes **********************************/ namespace simgrid { namespace msg { @@ -20,16 +18,17 @@ class Task { std::string name_ = ""; std::string tracing_category_ = ""; void* userdata_ = nullptr; - long long int counter_; + long long int id_; public: ~Task(); explicit Task(std::string name, double flops_amount, double bytes_amount, void* data) : name_(std::move(name)), userdata_(data), flops_amount(flops_amount), bytes_amount(bytes_amount) { - counter_ = msg_task_max_counter++; + static std::atomic_ullong counter{0}; + id_ = counter++; if (MC_is_active()) - MC_ignore_heap(&(counter_), sizeof(long long int)); + MC_ignore_heap(&(id_), sizeof(id_)); } void set_used(); void set_not_used() { this->is_used = false; } @@ -42,7 +41,7 @@ public: bool has_tracing_category() { return not tracing_category_.empty(); } void* get_user_data() { return userdata_; } void set_user_data(void* data) { userdata_ = data; } - long long int get_counter() { return counter_; } + long long int get_id() { return id_; } kernel::activity::ExecImplPtr compute = nullptr; /* SIMIX modeling of computation */ s4u::CommPtr comm = nullptr; /* S4U modeling of communication */ diff --git a/src/msg/msg_task.cpp b/src/msg/msg_task.cpp index fd9544c7b6..fe32c4b8bb 100644 --- a/src/msg/msg_task.cpp +++ b/src/msg/msg_task.cpp @@ -91,7 +91,7 @@ msg_task_t MSG_parallel_task_create(const char *name, int host_nb, const msg_hos /* Simulator Data specific to parallel tasks */ task->host_nb = host_nb; - host_list = new sg_host_t[host_nb]; + task->host_list = new sg_host_t[host_nb]; std::copy_n(host_list, host_nb, task->host_list); if (flops_amount != nullptr) { task->flops_parallel_amount = new double[host_nb];