Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
messing with msg tracing
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Wed, 13 Feb 2019 13:08:18 +0000 (14:08 +0100)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Wed, 13 Feb 2019 13:08:18 +0000 (14:08 +0100)
src/msg/instr_msg_task.cpp
src/msg/msg_gos.cpp
src/msg/msg_private.hpp
src/msg/msg_task.cpp

index 5e91e79..cf42a3a 100644 (file)
@@ -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);
     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 */
 }
 
 /* MSG_task_get related functions */
index e5f3194..ed29814 100644 (file)
@@ -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;
 
   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!");
 
   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) {
   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;
   }
 
     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();
 
   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;
   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;
 }
 
   return status;
 }
index 5e0c177..6a4a795 100644 (file)
@@ -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);
 /********** 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);
 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);
index d7fbc11..9b3e46c 100644 (file)
@@ -7,6 +7,7 @@
 #include "src/simix/smx_private.hpp"
 #include <algorithm>
 #include <cmath>
 #include "src/simix/smx_private.hpp"
 #include <algorithm>
 #include <cmath>
+#include <simgrid/modelchecker.h>
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_task, msg, "Logging specific to MSG (task)");
 
 
 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)
 {
  */
 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;
   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;
 
   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;
 }
 
   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);
   }
     /* 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 */
   xbt_free(task->name);
 
   /* free main structures */