really call before_bdev_event_hook _before_ the event
[lttv.git] / ltt / branches / poly / lttv / modules / gui / resourceview / drawing.c
index 927ef90a364069c33516b57fb82cc437953d5e9d..83311b5eeb6fcdb595f53a81c8f352c2915bbf4b 100644 (file)
@@ -86,11 +86,27 @@ GdkColor drawing_colors[NUM_COLORS] =
 
 GdkColor drawing_colors_cpu[NUM_COLORS_CPU] =
 { /* Pixel, R, G, B */
-  { 0, 0xBBBB, 0xBBBB, 0xBBBB }, /* COL_IDLE */
-  { 0, 0xFFFF, 0xFFFF, 0xFFFF }, /* COL_BUSY */
-  { 0, 0xFFFF, 0x0000, 0x0000 }, /* COL_UNKNOWN */
+  { 0, 0x0000, 0x0000, 0x0000 }, /* COL_CPU_UNKNOWN */
+  { 0, 0xBBBB, 0xBBBB, 0xBBBB }, /* COL_CPU_IDLE */
+  { 0, 0xFFFF, 0xFFFF, 0xFFFF }, /* COL_CPU_BUSY */
+  { 0, 0xFFFF, 0x5E00, 0x0000 }, /* COL_CPU_IRQ */
+  { 0, 0xFF00, 0xFF00, 0x0100 }, /* COL_CPU_TRAP */
 };
 
+GdkColor drawing_colors_irq[NUM_COLORS_IRQ] =
+{ /* Pixel, R, G, B */
+  { 0, 0x0000, 0x0000, 0x0000 }, /* COL_IRQ_UNKNOWN */
+  { 0, 0xBBBB, 0xBBBB, 0xBBBB }, /* COL_IRQ_IDLE */
+  { 0, 0xFFFF, 0x5E00, 0x0000 }, /* COL_IRQ_BUSY */
+};
+
+GdkColor drawing_colors_bdev[NUM_COLORS_BDEV] =
+{ /* Pixel, R, G, B */
+  { 0, 0x0000, 0x0000, 0x0000 }, /* COL_BDEV_UNKNOWN */
+  { 0, 0xBBBB, 0xBBBB, 0xBBBB }, /* COL_BDEV_IDLE */
+  { 0, 0x0000, 0x0000, 0xFFFF }, /* COL_BDEV_BUSY_READING */
+  { 0, 0xFFFF, 0x0000, 0x0000 }, /* COL_BDEV_BUSY_WRITING */
+};
 
 /*****************************************************************************
  *                              drawing functions                            *
@@ -234,37 +250,37 @@ void drawing_data_request(Drawing_t *drawing,
 //          &g_array_index(hooks, LttvTraceHook, before_hn++));
 //      if(ret) before_hn--;
 //
-//      ret = lttv_trace_find_hook(ts->parent.t,
-//          LTT_FACILITY_KERNEL_ARCH, LTT_EVENT_TRAP_ENTRY,
-//          LTT_FIELD_TRAP_ID, 0, 0,
-//          before_execmode_hook,
-//          events_request,
-//          &g_array_index(hooks, LttvTraceHook, before_hn++));
-//      if(ret) before_hn--;
-//
-//      ret = lttv_trace_find_hook(ts->parent.t,
-//          LTT_FACILITY_KERNEL_ARCH, LTT_EVENT_TRAP_EXIT,
-//          0, 0, 0, 
-//          before_execmode_hook,
-//          events_request,
-//          &g_array_index(hooks, LttvTraceHook, before_hn++));
-//      if(ret) before_hn--;
-//
-//      ret = lttv_trace_find_hook(ts->parent.t,
-//          LTT_FACILITY_KERNEL, LTT_EVENT_IRQ_ENTRY,
-//          LTT_FIELD_IRQ_ID, 0, 0,
-//          before_execmode_hook,
-//          events_request,
-//          &g_array_index(hooks, LttvTraceHook, before_hn++));
-//      if(ret) before_hn--;
-//
-//      ret = lttv_trace_find_hook(ts->parent.t,
-//          LTT_FACILITY_KERNEL, LTT_EVENT_IRQ_EXIT,
-//          0, 0, 0, 
-//          before_execmode_hook,
-//          events_request,
-//          &g_array_index(hooks, LttvTraceHook, before_hn++));
-//      if(ret) before_hn--;
+      ret = lttv_trace_find_hook(ts->parent.t,
+          LTT_FACILITY_KERNEL_ARCH, LTT_EVENT_TRAP_ENTRY,
+          LTT_FIELD_TRAP_ID, 0, 0,
+          before_execmode_hook,
+          events_request,
+          &g_array_index(hooks, LttvTraceHook, before_hn++));
+      if(ret) before_hn--;
+
+      ret = lttv_trace_find_hook(ts->parent.t,
+          LTT_FACILITY_KERNEL_ARCH, LTT_EVENT_TRAP_EXIT,
+          0, 0, 0, 
+          before_execmode_hook,
+          events_request,
+          &g_array_index(hooks, LttvTraceHook, before_hn++));
+      if(ret) before_hn--;
+
+      ret = lttv_trace_find_hook(ts->parent.t,
+          LTT_FACILITY_KERNEL, LTT_EVENT_IRQ_ENTRY,
+          LTT_FIELD_IRQ_ID, 0, 0,
+          before_execmode_hook,
+          events_request,
+          &g_array_index(hooks, LttvTraceHook, before_hn++));
+      if(ret) before_hn--;
+
+      ret = lttv_trace_find_hook(ts->parent.t,
+          LTT_FACILITY_KERNEL, LTT_EVENT_IRQ_EXIT,
+          0, 0, 0, 
+          before_execmode_hook,
+          events_request,
+          &g_array_index(hooks, LttvTraceHook, before_hn++));
+      if(ret) before_hn--;
 //
 //      ret = lttv_trace_find_hook(ts->parent.t,
 //          LTT_FACILITY_KERNEL, LTT_EVENT_SOFT_IRQ_ENTRY,
@@ -315,6 +331,22 @@ void drawing_data_request(Drawing_t *drawing,
 //          &g_array_index(hooks, LttvTraceHook, before_hn++));
 //      if(ret) before_hn--;
 
+      ret = lttv_trace_find_hook(ts->parent.t,
+          LTT_FACILITY_BLOCK, LTT_EVENT_REQUEST_ISSUE,
+          LTT_FIELD_MAJOR, LTT_FIELD_MINOR, LTT_FIELD_OPERATION,
+          before_bdev_event_hook,
+          events_request,
+          &g_array_index(hooks, LttvTraceHook, before_hn++));
+      if(ret) before_hn--;
+
+      ret = lttv_trace_find_hook(ts->parent.t,
+          LTT_FACILITY_BLOCK, LTT_EVENT_REQUEST_COMPLETE,
+          LTT_FIELD_MAJOR, LTT_FIELD_MINOR, LTT_FIELD_OPERATION,
+          before_bdev_event_hook,
+          events_request,
+          &g_array_index(hooks, LttvTraceHook, before_hn++));
+      if(ret) before_hn--;
+
 #if 0
       lttv_trace_find_hook(ts->parent.t,
           "core", "process", "event_sub_id", 
@@ -1063,10 +1095,14 @@ Drawing_t *drawing_construct(ControlFlowData *control_flow_data)
   /* Allocate the colors */
   GdkColormap* colormap = gdk_colormap_get_system();
   gboolean success[NUM_COLORS];
-  //gdk_colormap_alloc_colors(colormap, drawing_colors, NUM_COLORS, FALSE,
-  //                          TRUE, success);
+  gdk_colormap_alloc_colors(colormap, drawing_colors, NUM_COLORS, FALSE,
+                            TRUE, success);
   gdk_colormap_alloc_colors(colormap, drawing_colors_cpu, NUM_COLORS_CPU, FALSE,
                             TRUE, success);
+  gdk_colormap_alloc_colors(colormap, drawing_colors_irq, NUM_COLORS_IRQ, FALSE,
+                            TRUE, success);
+  gdk_colormap_alloc_colors(colormap, drawing_colors_bdev, NUM_COLORS_BDEV, FALSE,
+                            TRUE, success);
   
   drawing->gc =
     gdk_gc_new(GDK_DRAWABLE(main_window_get_widget(control_flow_data->tab)->window));
@@ -1122,10 +1158,10 @@ void drawing_destroy(Drawing_t *drawing)
   /* Free the colors */
   GdkColormap* colormap = gdk_colormap_get_system();
 
-  //gdk_colormap_free_colors(colormap, drawing_colors, NUM_COLORS);
+  gdk_colormap_free_colors(colormap, drawing_colors, NUM_COLORS);
   gdk_colormap_free_colors(colormap, drawing_colors_cpu, NUM_COLORS_CPU);
-  
-
+  gdk_colormap_free_colors(colormap, drawing_colors_irq, NUM_COLORS_IRQ);
+  gdk_colormap_free_colors(colormap, drawing_colors_bdev, NUM_COLORS_BDEV);
 
   // Do not unref here, Drawing_t destroyed by it's widget.
   //g_object_unref( G_OBJECT(drawing->drawing_area));
This page took 0.025403 seconds and 4 git commands to generate.