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);
xbt_context_yield();
}
+ PAJE_PROCESS_POP_STATE(process);
PAJE_COMM_STOP(process,t,channel);
if(state == SURF_ACTION_DONE) MSG_RETURN(MSG_OK);
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) {
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)
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);
- 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)
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;
simdata = process->simdata;
+
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);
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 {
- PAJE_PROCESS_STATE(process,"C");
+ // PAJE_PROCESS_STATE(process,"C");
+ PAJE_PROCESS_POP_STATE(process);
surf_workstation_resource->common_public->resume(simdata_task->comm);
}
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);
surf_workstation_resource->common_public->resume(simdata_task->compute);
+ PAJE_PROCESS_POP_STATE(process);
+
MSG_RETURN(MSG_OK);
}
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)
+#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)) {\
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", \