Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Improving traces
authoralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 4 Feb 2005 18:26:15 +0000 (18:26 +0000)
committeralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 4 Feb 2005 18:26:15 +0000 (18:26 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@877 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/msg/gos.c
src/msg/m_process.c
src/msg/private.h

index 17f0326..e0e17e7 100644 (file)
@@ -86,7 +86,8 @@ MSG_error_t MSG_task_get(m_task_t * task,
   if(__MSG_process_isBlocked(t_simdata->sender)) 
     __MSG_process_unblock(t_simdata->sender);
 
   if(__MSG_process_isBlocked(t_simdata->sender)) 
     __MSG_process_unblock(t_simdata->sender);
 
-  PAJE_PROCESS_STATE(process,"C");  
+  //  PAJE_PROCESS_STATE(process,"C");  
+  PAJE_PROCESS_PUSH_STATE(process,"C");  
 
   do {
     __MSG_task_wait_event(process, t);
 
   do {
     __MSG_task_wait_event(process, t);
@@ -98,6 +99,7 @@ MSG_error_t MSG_task_get(m_task_t * task,
     xbt_context_yield();
   }
 
     xbt_context_yield();
   }
 
+  PAJE_PROCESS_POP_STATE(process);  
   PAJE_COMM_STOP(process,t,channel);
 
   if(state == SURF_ACTION_DONE) MSG_RETURN(MSG_OK);
   PAJE_COMM_STOP(process,t,channel);
 
   if(state == SURF_ACTION_DONE) MSG_RETURN(MSG_OK);
@@ -212,7 +214,8 @@ MSG_error_t MSG_task_put(m_task_t task,
   process->simdata->put_channel = -1;
 /*   } */
 
   process->simdata->put_channel = -1;
 /*   } */
 
-  PAJE_PROCESS_STATE(process,"C");  
+  // PAJE_PROCESS_STATE(process,"C");  
+  PAJE_PROCESS_PUSH_STATE(process,"C");  
 
   state=surf_workstation_resource->common_public->action_get_state(task_simdata->comm);
   while (state==SURF_ACTION_RUNNING) {
 
   state=surf_workstation_resource->common_public->action_get_state(task_simdata->comm);
   while (state==SURF_ACTION_RUNNING) {
@@ -222,6 +225,8 @@ MSG_error_t MSG_task_put(m_task_t task,
     
   MSG_task_destroy(task);
 
     
   MSG_task_destroy(task);
 
+  PAJE_PROCESS_POP_STATE(process);  
+
   if(state == SURF_ACTION_DONE) MSG_RETURN(MSG_OK);
   else if(surf_workstation_resource->extension_public->get_state(local_host->simdata->host) 
          == SURF_CPU_OFF)
   if(state == SURF_ACTION_DONE) MSG_RETURN(MSG_OK);
   else if(surf_workstation_resource->extension_public->get_state(local_host->simdata->host) 
          == SURF_CPU_OFF)
@@ -257,10 +262,14 @@ MSG_error_t MSG_task_put_bounded(m_task_t task,
 MSG_error_t MSG_task_execute(m_task_t task)
 {
   m_process_t process = MSG_process_self();
 MSG_error_t MSG_task_execute(m_task_t task)
 {
   m_process_t process = MSG_process_self();
-
+  MSG_error_t res;
   __MSG_task_execute(process, task);
   __MSG_task_execute(process, task);
-  PAJE_PROCESS_STATE(process,"E");  
-  return __MSG_wait_for_computation(process,task);
+
+  //  PAJE_PROCESS_STATE(process,"E");  
+  PAJE_PROCESS_PUSH_STATE(process,"E");  
+  res = __MSG_wait_for_computation(process,task);
+  PAJE_PROCESS_POP_STATE(process);
+  return res;
 }
 
 void __MSG_task_execute(m_process_t process, m_task_t task)
 }
 
 void __MSG_task_execute(m_process_t process, m_task_t task)
index d049c4a..5f586cc 100644 (file)
@@ -320,7 +320,8 @@ MSG_error_t MSG_process_suspend(m_process_t process)
 
   xbt_assert0(((process) && (process->simdata)), "Invalid parameters");
 
 
   xbt_assert0(((process) && (process->simdata)), "Invalid parameters");
 
-  PAJE_PROCESS_STATE(process,"S");
+  //  PAJE_PROCESS_STATE(process,"S");
+  PAJE_PROCESS_PUSH_STATE(process,"S");
 
   if(process!=MSG_process_self()) {
     simdata = process->simdata;
 
   if(process!=MSG_process_self()) {
     simdata = process->simdata;
@@ -373,8 +374,10 @@ MSG_error_t MSG_process_resume(m_process_t process)
 
   simdata = process->simdata;
 
 
   simdata = process->simdata;
 
+
   if(simdata->blocked) {
   if(simdata->blocked) {
-    PAJE_PROCESS_STATE(process,"B");
+    //    PAJE_PROCESS_STATE(process,"B");
+    PAJE_PROCESS_POP_STATE(process);
 
     simdata->suspended = 0; /* He'll wake up by itself */
     MSG_RETURN(MSG_OK);
 
     simdata->suspended = 0; /* He'll wake up by itself */
     MSG_RETURN(MSG_OK);
@@ -389,10 +392,12 @@ MSG_error_t MSG_process_resume(m_process_t process)
 
   if(simdata_task->compute) {
     surf_workstation_resource->common_public->resume(simdata_task->compute);
 
   if(simdata_task->compute) {
     surf_workstation_resource->common_public->resume(simdata_task->compute);
-    PAJE_PROCESS_STATE(process,"E");
+    PAJE_PROCESS_POP_STATE(process);
+    //    PAJE_PROCESS_STATE(process,"E");
   }
   else {
   }
   else {
-    PAJE_PROCESS_STATE(process,"C");
+    //    PAJE_PROCESS_STATE(process,"C");
+    PAJE_PROCESS_POP_STATE(process);
     surf_workstation_resource->common_public->resume(simdata_task->comm);
   }
 
     surf_workstation_resource->common_public->resume(simdata_task->comm);
   }
 
@@ -419,7 +424,8 @@ MSG_error_t __MSG_process_block(void)
   m_task_t dummy = MSG_TASK_UNINITIALIZED;
   dummy = MSG_task_create("blocked", 0.0, 0, NULL);
   
   m_task_t dummy = MSG_TASK_UNINITIALIZED;
   dummy = MSG_task_create("blocked", 0.0, 0, NULL);
   
-  PAJE_PROCESS_STATE(process,"B");
+  //  PAJE_PROCESS_STATE(process,"B");
+  PAJE_PROCESS_PUSH_STATE(process,"B");
 
   process->simdata->blocked=1;
   __MSG_task_execute(process,dummy);
 
   process->simdata->blocked=1;
   __MSG_task_execute(process,dummy);
@@ -455,6 +461,8 @@ MSG_error_t __MSG_process_unblock(m_process_t process)
 
   surf_workstation_resource->common_public->resume(simdata_task->compute);
 
 
   surf_workstation_resource->common_public->resume(simdata_task->compute);
 
+  PAJE_PROCESS_POP_STATE(process);
+
   MSG_RETURN(MSG_OK);
 }
 
   MSG_RETURN(MSG_OK);
 }
 
index b2cb6a1..07095a7 100644 (file)
@@ -94,12 +94,19 @@ MSG_error_t __MSG_process_block(void);
 MSG_error_t __MSG_process_unblock(m_process_t process);
 int __MSG_process_isBlocked(m_process_t process);
 
 MSG_error_t __MSG_process_unblock(m_process_t process);
 int __MSG_process_isBlocked(m_process_t process);
 
-/* #define ALVIN_SPECIAL_LOGING */
 #ifdef ALVIN_SPECIAL_LOGING
 #define PAJE_PROCESS_STATE(process,state)\
   if(msg_global->paje_output) \
     fprintf(msg_global->paje_output,"10 %lg S_t P%d %s\n",\
             surf_get_clock(), process->simdata->PID,state)
 #ifdef ALVIN_SPECIAL_LOGING
 #define PAJE_PROCESS_STATE(process,state)\
   if(msg_global->paje_output) \
     fprintf(msg_global->paje_output,"10 %lg S_t P%d %s\n",\
             surf_get_clock(), process->simdata->PID,state)
+#define PAJE_PROCESS_PUSH_STATE(process,state)\
+  if(msg_global->paje_output) \
+    fprintf(msg_global->paje_output,"11 %lg S_t P%d %s\n",\
+            surf_get_clock(), process->simdata->PID,state)
+#define PAJE_PROCESS_POP_STATE(process)\
+  if(msg_global->paje_output) \
+    fprintf(msg_global->paje_output,"12 %lg S_t P%d\n",\
+            surf_get_clock(), process->simdata->PID)
 #define PAJE_PROCESS_FREE(process)
 #define PAJE_PROCESS_NEW(process)\
   if((msg_global->paje_output)) {\
 #define PAJE_PROCESS_FREE(process)
 #define PAJE_PROCESS_NEW(process)\
   if((msg_global->paje_output)) {\
@@ -133,6 +140,15 @@ int __MSG_process_isBlocked(m_process_t process);
   if(msg_global->paje_output) \
     fprintf(msg_global->paje_output,"10 %lg S_t %p %s\n",\
             surf_get_clock(), process,state)
   if(msg_global->paje_output) \
     fprintf(msg_global->paje_output,"10 %lg S_t %p %s\n",\
             surf_get_clock(), process,state)
+#define PAJE_PROCESS_PUSH_STATE(process,state)\
+  if(msg_global->paje_output) \
+    fprintf(msg_global->paje_output,"11 %lg S_t %p %s\n",\
+            surf_get_clock(), process,state)
+#define PAJE_PROCESS_POP_STATE(process)\
+  if(msg_global->paje_output) \
+    fprintf(msg_global->paje_output,"12 %lg S_t %p\n",\
+            surf_get_clock(), process)
+
 #define PAJE_PROCESS_FREE(process)\
   if(msg_global->paje_output) \
     fprintf(msg_global->paje_output,"8 %lg %p P_t\n", \
 #define PAJE_PROCESS_FREE(process)\
   if(msg_global->paje_output) \
     fprintf(msg_global->paje_output,"8 %lg %p P_t\n", \