Преглед на файлове

show tasks requesting data

Samuel Thibault преди 14 години
родител
ревизия
e8d1e28bd9
променени са 1 файла, в които са добавени 26 реда и са изтрити 13 реда
  1. 26 13
      tools/gdbinit

+ 26 - 13
tools/gdbinit

@@ -56,8 +56,8 @@ define starpu-print-task
   printf "\tregenerate:\t\t\t<%d>\n", $task->regenerate
   printf "\tstatus:\t\t\t\t<%s>\n", $status
   printf "\tjob:\t\t\t\t<%p>\n", $job
-  printf "\tndeps:\t\t\t\t<%p>\n", $job->job_successors->ndeps
-  printf "\tndeps_completed:\t\t<%p>\n", $job->job_successors->ndeps_completed
+  printf "\tndeps:\t\t\t\t<%u>\n", $job->job_successors->ndeps
+  printf "\tndeps_completed:\t\t<%u>\n", $job->job_successors->ndeps_completed
   if $job
     starpu-print-job $job
   end
@@ -112,25 +112,29 @@ define starpu
   printf "Here I am...\n"
 end
 
-define starpu-print-data
-  set language c
-  set $data = $arg0
-  printf "Data handle %p\n", $data
-  printf "Home node %d\n", $data->home_node
-  printf "Requests %d\n", $data->refcnt
-  printf "Current mode "
-  if ($data->current_mode & 1)
+define starpu-print-mode
+  if ($arg0 & 1)
     printf "R"
   end
-  if ($data->current_mode & 2)
+  if ($arg0 & 2)
     printf "W"
   end
-  if ($data->current_mode & 4)
+  if ($arg0 & 4)
     printf " SCRATCH"
   end
-  if ($data->current_mode & 8)
+  if ($arg0 & 8)
     printf " REDUX"
   end
+end
+
+define starpu-print-data
+  set language c
+  set $data = $arg0
+  printf "Data handle %p\n", $data
+  printf "Home node %d\n", $data->home_node
+  printf "Requests %d\n", $data->refcnt
+  printf "Current mode "
+  starpu-print-mode $data->current_mode
   printf "\n"
   if $data->current_mode & (4|8)
     set $n = 0
@@ -179,6 +183,15 @@ define starpu-print-data
     starpu-print-task $tasklist->task
     set $tasklist = $tasklist->next
   end
+  printf "Requester tasks\n"
+  set $requesterlist = $data->req_list._head
+  while $requesterlist != 0x0
+    print "mode: "
+    starpu-print-mode $requesterlist->mode
+    print "\n"
+    starpu-print-job $requesterlist->j
+    set $requesterlist = $requesterlist->_next
+  end
   set $n = 0
   while $n < $data->nchildren
     printf "Child %p\n", $data->children[$n]