From: Frederic Suter Date: Wed, 13 Feb 2019 13:08:18 +0000 (+0100) Subject: messing with msg tracing X-Git-Tag: v3_22~338 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/f8e2498e855c9b875ea7598a0e10e4994954fc1c?hp=99bdda3ee4939633343432d14d83a58a7f3b77ff messing with msg tracing --- diff --git a/src/msg/instr_msg_task.cpp b/src/msg/instr_msg_task.cpp index 5e91e791f6..cf42a3a310 100644 --- a/src/msg/instr_msg_task.cpp +++ b/src/msg/instr_msg_task.cpp @@ -22,52 +22,11 @@ void TRACE_msg_set_task_category(msg_task_t task, const char *category) xbt_free (task->category); task->category = nullptr; XBT_DEBUG("MSG task %p(%s), category removed", task, task->name); - return; + } else { + // set task category + task->category = xbt_strdup(category); + XBT_DEBUG("MSG task %p(%s), category %s", task, task->name, task->category); } - - //set task category - task->category = xbt_strdup (category); - XBT_DEBUG("MSG task %p(%s), category %s", task, task->name, task->category); -} - -/* MSG_task_create related function*/ -void TRACE_msg_task_create(msg_task_t task) -{ - static std::atomic_ullong counter{0}; - task->counter = counter++; - task->category = nullptr; - - if(MC_is_active()) - MC_ignore_heap(&(task->counter), sizeof(task->counter)); - - XBT_DEBUG("CREATE %p, %lld", task, task->counter); -} - -/* MSG_task_execute related functions */ -void TRACE_msg_task_execute_start(msg_task_t task) -{ - XBT_DEBUG("EXEC,in %p, %lld, %s", task, task->counter, task->category); - - if (TRACE_actor_is_enabled()) - simgrid::instr::Container::by_name(instr_pid(MSG_process_self()))->get_state("ACTOR_STATE")->push_event("execute"); -} - -void TRACE_msg_task_execute_end(msg_task_t task) -{ - XBT_DEBUG("EXEC,out %p, %lld, %s", task, task->counter, task->category); - - if (TRACE_actor_is_enabled()) - simgrid::instr::Container::by_name(instr_pid(MSG_process_self()))->get_state("ACTOR_STATE")->pop_event(); -} - -/* MSG_task_destroy related functions */ -void TRACE_msg_task_destroy(msg_task_t task) -{ - XBT_DEBUG("DESTROY %p, %lld, %s", task, task->counter, task->category); - - //free category - xbt_free(task->category); - task->category = nullptr; } /* MSG_task_get related functions */ diff --git a/src/msg/msg_gos.cpp b/src/msg/msg_gos.cpp index e5f3194f99..ed298144cb 100644 --- a/src/msg/msg_gos.cpp +++ b/src/msg/msg_gos.cpp @@ -45,7 +45,6 @@ msg_error_t MSG_parallel_task_execute_with_timeout(msg_task_t task, double timeo e_smx_state_t comp_state; msg_error_t status = MSG_OK; - TRACE_msg_task_execute_start(task); xbt_assert((not simdata->compute) && not task->simdata->isused, "This task is executed somewhere else. Go fix your code!"); @@ -53,10 +52,12 @@ msg_error_t MSG_parallel_task_execute_with_timeout(msg_task_t task, double timeo XBT_DEBUG("Computing on %s", MSG_process_get_name(MSG_process_self())); if (simdata->flops_amount <= 0.0 && not simdata->host_nb) { - TRACE_msg_task_execute_end(task); return MSG_OK; } + if (TRACE_actor_is_enabled()) + simgrid::instr::Container::by_name(instr_pid(MSG_process_self()))->get_state("ACTOR_STATE")->push_event("execute"); + try { simdata->setUsed(); @@ -102,7 +103,9 @@ msg_error_t MSG_parallel_task_execute_with_timeout(msg_task_t task, double timeo simdata->flops_amount = 0.0; simdata->comm = nullptr; simdata->compute = nullptr; - TRACE_msg_task_execute_end(task); + + if (TRACE_actor_is_enabled()) + simgrid::instr::Container::by_name(instr_pid(MSG_process_self()))->get_state("ACTOR_STATE")->pop_event(); return status; } diff --git a/src/msg/msg_private.hpp b/src/msg/msg_private.hpp index 5e0c177bf3..6a4a795c74 100644 --- a/src/msg/msg_private.hpp +++ b/src/msg/msg_private.hpp @@ -84,10 +84,6 @@ XBT_PRIVATE void MSG_comm_copy_data_from_SIMIX(smx_activity_t comm, void* buff, /********** Tracing **********/ /* declaration of instrumentation functions from msg_task_instr.c */ XBT_PRIVATE void TRACE_msg_set_task_category(msg_task_t task, const char* category); -XBT_PRIVATE void TRACE_msg_task_create(msg_task_t task); -XBT_PRIVATE void TRACE_msg_task_execute_start(msg_task_t task); -XBT_PRIVATE void TRACE_msg_task_execute_end(msg_task_t task); -XBT_PRIVATE void TRACE_msg_task_destroy(msg_task_t task); XBT_PRIVATE void TRACE_msg_task_get_end(msg_task_t task); XBT_PRIVATE void TRACE_msg_task_get_start(); XBT_PRIVATE void TRACE_msg_task_put_start(msg_task_t task); diff --git a/src/msg/msg_task.cpp b/src/msg/msg_task.cpp index d7fbc112f9..9b3e46c373 100644 --- a/src/msg/msg_task.cpp +++ b/src/msg/msg_task.cpp @@ -7,6 +7,7 @@ #include "src/simix/smx_private.hpp" #include #include +#include XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_task, msg, "Logging specific to MSG (task)"); @@ -40,6 +41,8 @@ void s_simdata_task_t::reportMultipleUse() const */ msg_task_t MSG_task_create(const char *name, double flop_amount, double message_size, void *data) { + static std::atomic_ullong counter{0}; + msg_task_t task = new s_msg_task_t; simdata_task_t simdata = new s_simdata_task_t(); task->simdata = simdata; @@ -52,7 +55,11 @@ msg_task_t MSG_task_create(const char *name, double flop_amount, double message_ simdata->bytes_amount = message_size; simdata->flops_amount = flop_amount; - TRACE_msg_task_create(task); + task->counter = counter++; + task->category = nullptr; + + if (MC_is_active()) + MC_ignore_heap(&(task->counter), sizeof(task->counter)); return task; } @@ -166,8 +173,8 @@ msg_error_t MSG_task_destroy(msg_task_t task) /* the task is being sent or executed: cancel it first */ MSG_task_cancel(task); } - TRACE_msg_task_destroy(task); + xbt_free(task->category); xbt_free(task->name); /* free main structures */