Browse Source

Print more information about memory usage

Samuel Thibault 11 years ago
parent
commit
3bf9a98787
1 changed files with 31 additions and 8 deletions
  1. 31 8
      tools/gdbinit

+ 31 - 8
tools/gdbinit

@@ -347,51 +347,74 @@ define starpu-print-frequests
 end
 
 define starpu-memusage
+  set scheduler-locking on
   set $node = 0
   while $node < descr.nnodes
     printf "Node %u:\n", $node
     set $total = 0
+    set $total_b = 0
     set $wt = 0
+    set $wt_b = 0
     set $home = 0
+    set $home_b = 0
     set $redux = 0
+    set $redux_b = 0
     set $relax = 0
+    set $relax_b = 0
     set $noref = 0
+    set $noref_b = 0
     set $nodataref = 0
+    set $nodataref_b = 0
+    set $nosubdataref = 0
+    set $nosubdataref_b = 0
     set $mc = mc_list[$node]->_head
     while $mc != 0
-      set $total = $total + 1
       set $handle = $mc->data
+      set $size = _starpu_data_get_size($handle)
+      set $total = $total + 1
+      set $total_b = $total_b + $size
       if $handle->wt_mask & (1 << $node)
         set $wt = $wt + 1
+	set $wt_b = $wt_b + $size
       end
       if $node == $handle->home_node
         set $home = $home + 1
+	set $home_b = $home_b + $size
       end
       if $mc->relaxed_coherency == 2
         set $redux = $redux + 1
+	set $redux_b = $redux_b + $size
       end
       if $mc->relaxed_coherency == 1
         set $relax = $relax + 1
+	set $relax_b = $relax_b + $size
         if $mc->replicate
           if $mc->replicate->refcnt == 0
             set $noref = $noref + 1
+	    set $noref_b = $noref_b + $size
           end
         end
       end
       if $mc->relaxed_coherency == 0
+        if (may_free_subtree($handle,$node))
+	  set $nosubdataref = $nosubdataref + 1
+	  set $nosubdataref_b = $nosubdataref_b + $size
+	end
         if $handle->per_node[$node].refcnt == 0
           set $nodataref = $nodataref + 1
+	  set $nodataref_b = $nodataref_b + $size
         end
       end
       set $mc = $mc->_next
     end
-    printf "  Total: %u\n", $total
-    printf "  WT: %u\n", $wt
-    printf "  home: %u\n", $home
-    printf "  redux: %u\n", $redux
-    printf "  relax: %u\n", $relax
-    printf "  noref: %u\n", $noref
-    printf "  nodataref: %u\n", $nodataref
+    printf "  Total: %u, %u\n", $total, $total_b
+    printf "  WT: %u, %u\n", $wt, $wt_b
+    printf "  home: %u, %u\n", $home, $home_b
+    printf "  redux: %u, %u\n", $redux, $redux_b
+    printf "  relax: %u, %u\n", $relax, $relax_b
+    printf "  noref: %u, %u\n", $noref, $noref_b
+    printf "  nosubdataref: %u, %u\n", $nosubdataref, $nosubdataref_b
+    printf "  nodataref: %u, %u\n", $nodataref, $nodataref_b
     set $node = $node + 1
   end
 end