Kaynağa Gözat

tools/gdbinit: improve debug functions for MPI

Nathalie Furmento 10 yıl önce
ebeveyn
işleme
64f46b0346
1 değiştirilmiş dosya ile 47 ekleme ve 7 silme
  1. 47 7
      tools/gdbinit

+ 47 - 7
tools/gdbinit

@@ -606,15 +606,54 @@ end
 
 define starpu-mpi-print-request
     set $request = (struct _starpu_mpi_req *)$arg0
-    printf "Request %p data %p type %d\n", $request, $request->data_handle, $request->request_type
+    set $request_type = "unknown_type"
+    if $request->request_type == SEND_REQ
+       set $request_type = "SEND_REQ"
+    end
+    if $request->request_type == RECV_REQ
+       set $request_type = "RECV_REQ"
+    end
+    if $request->request_type == WAIT_REQ
+       set $request_type = "WAIT_REQ"
+    end
+    if $request->request_type == TEST_REQ
+       set $request_type = "TEST_REQ"
+    end
+    if $request->request_type == BARRIER_REQ
+       set $request_type = "BARRIER_REQ"
+    end
+    if $request->request_type == PROBE_REQ
+       set $request_type = "PROBE_REQ"
+    end
+    if $request->request_type == UNKNOWN_REQ
+       set $request_type = "UNKNOWN_REQ"
+    end
+    printf "Request (struct _starpu_mpi_req *) %p data %p type %s submitted %d completed %d posted %d detached %d\n", $request, $request->data_handle, $request_type, $request->submitted, $request->completed, $request->posted, $request->detached
 end
 
 define starpu-mpi-print-ready-requests
-    set $entry = ready_requests
-    while $entry->_head
-        starpu-mpi-print-request $entry->_head
-        printf "\n"
-        set $entry = (struct handle_entry *) $entry.hh.next
+    set $list = (struct _starpu_mpi_req_list *) ready_requests
+    if $list
+	set $request = $list->_head
+        while $request
+            starpu-mpi-print-request $request
+	    set $request = $request._next
+	end
+    else
+	printf "No ready requests"
+    end
+end
+
+define starpu-mpi-print-detached-requests
+    set $list = (struct _starpu_mpi_req_list *) detached_requests
+    if $list
+	set $request = $list->_head
+        while $request
+            starpu-mpi-print-request $request
+	    set $request = $request._next
+	end
+    else
+	printf "No detached requests"
     end
 end
 
@@ -644,5 +683,6 @@ end
 
 document starpu-mpi
 List of StarPU-MPI-specific gdb functions:
-starpu-mpi-print-ready-requests prints all ready requests
+starpu-mpi-print-ready-requests    prints all ready requests
+starpu-mpi-print-detached-requests prints all detached requests
 end