{ 0, 0xBBBB, 0xBBBB, 0xBBBB }, /* COL_CPU_IDLE */
{ 0, 0xFFFF, 0xFFFF, 0xFFFF }, /* COL_CPU_BUSY */
{ 0, 0xFFFF, 0x5E00, 0x0000 }, /* COL_CPU_IRQ */
+ { 0, 0xFFFF, 0x9400, 0x9600 }, /* COL_CPU_SOFT_IRQ */
{ 0, 0xFF00, 0xFF00, 0x0100 }, /* COL_CPU_TRAP */
};
{ 0, 0xFFFF, 0x5E00, 0x0000 }, /* COL_IRQ_BUSY */
};
+GdkColor drawing_colors_soft_irq[NUM_COLORS_SOFT_IRQ] =
+{ /* Pixel, R, G, B */
+ { 0, 0x0000, 0x0000, 0x0000 }, /* COL_SOFT_IRQ_UNKNOWN */
+ { 0, 0x0000, 0x0000, 0x0000 }, /* COL_SOFT_IRQ_IDLE */
+ { 0, 0xFFFF, 0x9400, 0x9600 }, /* COL_SOFT_IRQ_BUSY */
+};
+
+GdkColor drawing_colors_trap[NUM_COLORS_TRAP] =
+{ /* Pixel, R, G, B */
+ { 0, 0x0000, 0x0000, 0x0000 }, /* COL_TRAP_UNKNOWN */
+ { 0, 0x0000, 0x0000, 0x0000 }, /* COL_TRAP_IDLE */
+ { 0, 0xFF00, 0xFF00, 0x0100 }, /* COL_TRAP_BUSY */
+};
+
GdkColor drawing_colors_bdev[NUM_COLORS_BDEV] =
{ /* Pixel, R, G, B */
{ 0, 0x0000, 0x0000, 0x0000 }, /* COL_BDEV_UNKNOWN */
ControlFlowData *control_flow_data = drawing->control_flow_data;
// (ControlFlowData*)g_object_get_data(
- // G_OBJECT(drawing->drawing_area), "control_flow_data");
+ // G_OBJECT(drawing->drawing_area), "resourceview_data");
LttTime start, time_end;
LttTime window_end = time_window.end_time;
before_execmode_hook,
events_request,
&hooks);
-//
-// lttv_trace_find_hook(ts->parent.t,
-// LTT_FACILITY_KERNEL,
-// LTT_EVENT_SOFT_IRQ_ENTRY,
-// FIELD_ARRAY(LTT_FIELD_SOFT_IRQ_ID),
-// before_execmode_hook,
-// events_request,
-// &hooks);
-//
-// lttv_trace_find_hook(ts->parent.t,
-// LTT_FACILITY_KERNEL,
-// LTT_EVENT_SOFT_IRQ_EXIT,
-// NULL,
-// before_execmode_hook,
-// events_request,
-// &hooks);
+
+ lttv_trace_find_hook(ts->parent.t,
+ LTT_FACILITY_KERNEL,
+ LTT_EVENT_SOFT_IRQ_ENTRY,
+ FIELD_ARRAY(LTT_FIELD_SOFT_IRQ_ID),
+ before_execmode_hook,
+ events_request,
+ &hooks);
+
+ lttv_trace_find_hook(ts->parent.t,
+ LTT_FACILITY_KERNEL,
+ LTT_EVENT_SOFT_IRQ_EXIT,
+ NULL,
+ before_execmode_hook,
+ events_request,
+ &hooks);
lttv_trace_find_hook(ts->parent.t,
static void set_last_start(gpointer key, gpointer value, gpointer user_data)
{
- ResourceInfo *process_info = (ResourceInfo*)key;
+ //ResourceInfo *process_info = (ResourceInfo*)key;
HashedResourceData *hashed_process_data = (HashedResourceData*)value;
guint x = (guint)user_data;
void drawing_data_request_begin(EventsRequest *events_request, LttvTracesetState *tss)
{
+ int i;
+
g_debug("Begin of data request");
ControlFlowData *cfd = events_request->viewer_data;
LttvTracesetContext *tsc = LTTV_TRACESET_CONTEXT(tss);
width,
&x);
- g_hash_table_foreach(cfd->process_list->process_hash, set_last_start,
- (gpointer)x);
+ for(i=0; i<RV_RESOURCE_COUNT; i++) {
+ g_hash_table_foreach(cfd->process_list->restypes[i].hash_table, set_last_start,
+ (gpointer)x);
+ }
}
{
g_debug("Begin of chunk");
ControlFlowData *cfd = events_request->viewer_data;
- LttvTracesetContext *tsc = &tss->parent.parent;
+ LttvTracesetContext *tsc = &tss->parent;
//LttTime current_time = lttv_traceset_context_get_current_tfc(tsc)->timestamp;
guint i;
LttvTraceset *traceset = tsc->ts;
ControlFlowData *control_flow_data =
(ControlFlowData*)g_object_get_data(
G_OBJECT(widget),
- "control_flow_data");
+ "resourceview_data");
#if 0
if(unlikely(drawing->gc == NULL)) {
drawing->gc = gdk_gc_new(drawing->drawing_area->window);
ControlFlowData *control_flow_data =
(ControlFlowData*)g_object_get_data(
G_OBJECT(widget),
- "control_flow_data");
+ "resourceview_data");
Drawing_t *drawing = control_flow_data->drawing;
TimeWindow time_window =
lttvwindow_get_time_window(control_flow_data->tab);
TRUE, success);
gdk_colormap_alloc_colors(colormap, drawing_colors_irq, NUM_COLORS_IRQ, FALSE,
TRUE, success);
+ gdk_colormap_alloc_colors(colormap, drawing_colors_soft_irq, NUM_COLORS_SOFT_IRQ, FALSE,
+ TRUE, success);
+ gdk_colormap_alloc_colors(colormap, drawing_colors_trap, NUM_COLORS_TRAP, FALSE,
+ TRUE, success);
gdk_colormap_alloc_colors(colormap, drawing_colors_bdev, NUM_COLORS_BDEV, FALSE,
TRUE, success);
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_soft_irq, NUM_COLORS_IRQ);
+ gdk_colormap_free_colors(colormap, drawing_colors_trap, NUM_COLORS_TRAP);
gdk_colormap_free_colors(colormap, drawing_colors_bdev, NUM_COLORS_BDEV);
// Do not unref here, Drawing_t destroyed by it's widget.