X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Fmodules%2Fgui%2Fresourceview%2Feventhooks.c;h=f46018442ef3241ecb87cc8e9b8317cab024d1f7;hb=26ea84eb31a3d5da3e264d78719b3a74254a9134;hp=3259f9b445bdc71acd957b6a5ad606581fe24ff2;hpb=d14a4a7a083dc6316b9c8e2b92d4d16316b6ae65;p=lttv.git diff --git a/lttv/modules/gui/resourceview/eventhooks.c b/lttv/modules/gui/resourceview/eventhooks.c index 3259f9b4..f4601844 100644 --- a/lttv/modules/gui/resourceview/eventhooks.c +++ b/lttv/modules/gui/resourceview/eventhooks.c @@ -60,10 +60,6 @@ //#include -#include -#include -#include - #include #include #include @@ -121,7 +117,6 @@ static void request_background_data(ControlFlowData *resourceview_data) gint num_traces = lttv_traceset_number(ts); gint i; LttvTrace *trace; - LttvTraceState *tstate; LttvHooks *background_ready_hook = lttv_hooks_new(); @@ -385,6 +380,7 @@ int before_schedchange_hook(void *hook_data, void *call_data) * time to do it. */ +#ifdef BABEL_CLEANUP guint pid_out; pid_out = lttv_event_get_long(event, "prev_tid"); // TODO: can't we reenable this? pmf @@ -392,12 +388,13 @@ int before_schedchange_hook(void *hook_data, void *call_data) // /* not a transition to/from idle */ // return 0; // } - +#endif guint cpu = lttv_traceset_get_cpuid_from_event(event); ts = event->state; - guint trace_num = 0;//TODO fdeslauriers 2012-07-17: // Use trace handle to know trace number + guint trace_num = lttv_traceset_get_trace_index_from_event(event); + /* Add process to process list (if not present) */ HashedResourceData *hashed_process_data = NULL; @@ -556,7 +553,7 @@ int after_schedchange_hook(void *hook_data, void *call_data) //process_in = lttv_state_find_process(ts, ANY_CPU, pid_in); //process_in = tfs->process; guint cpu = lttv_traceset_get_cpuid_from_event(event); - guint trace_num = 0; /* TODO set right trace number */ + guint trace_num = lttv_traceset_get_trace_index_from_event(event); process_in = ts->running_process[cpu]; /* It should exist, because we are after the state update. */ #ifdef EXTRA_CHECK @@ -625,7 +622,6 @@ int before_execmode_hook(void *hook_data, void *call_data) { LttvEvent *event; guint cpu; - guint pid = 0; LttvTraceState *ts; LttvProcessState *process; @@ -647,13 +643,10 @@ int before_execmode_hook(void *hook_data, void *call_data) LttTime evtime = lttv_event_get_timestamp(event); ControlFlowData *resourceview_data = (ControlFlowData*)hook_data; - /* For the pid */ - LttvTraceset *traceSet = lttvwindow_get_traceset(resourceview_data->tab); - cpu = lttv_traceset_get_cpuid_from_event(event); ts = event->state; - guint trace_num = 0;//TODO fdeslauriers 2012-07-17: // Use trace handle to know trace number + guint trace_num = lttv_traceset_get_trace_index_from_event(event); process = ts->running_process[cpu]; g_assert(process != NULL); @@ -806,7 +799,6 @@ int before_execmode_hook_irq(void *hook_data, void *call_data) guint64 irq; guint cpu = lttv_traceset_get_cpuid_from_event(event); - LttvTraceset *traceSet = lttvwindow_get_traceset(resourceview_data->tab); LttvTraceState *ts = event->state;; /* @@ -826,7 +818,7 @@ int before_execmode_hook_irq(void *hook_data, void *call_data) } else return 0; - guint trace_num = 0;//TODO fdeslauriers 2012-07-17: // Use trace handle to know trace number + guint trace_num = lttv_traceset_get_trace_index_from_event(event); /* Well, the process_out existed : we must get it in the process hash * or add it, and draw its items. @@ -998,10 +990,8 @@ int before_execmode_hook_soft_irq(void *hook_data, void *call_data) LttTime evtime = lttv_event_get_timestamp(event); ControlFlowData *resourceview_data = (ControlFlowData*)hook_data; - LttvTraceset *traceSet = lttvwindow_get_traceset(resourceview_data->tab); - guint cpu = lttv_traceset_get_cpuid_from_event(event); ts = event->state; - guint trace_num = 0;//TODO change it to the right value; + guint trace_num = lttv_traceset_get_trace_index_from_event(event); /* Well, the process_out existed : we must get it in the process hash * or add it, and draw its items. @@ -1307,7 +1297,6 @@ int before_bdev_event_hook(void *hook_data, void *call_data) { LttvEvent *event; guint cpu; - guint pid = 0; LttvTraceState *ts; LttvProcessState *process; @@ -1331,7 +1320,7 @@ LttvEvent *event; guint8 minor = ltt_event_get_long_unsigned(e, lttv_trace_get_hook_field(th, 1)); gint devcode_gint = MKDEV(major,minor); - guint trace_num = 0; //TODO put the real trace_num; + guint trace_num = lttv_traceset_get_trace_index_from_event(event); LttvBdevState *bdev = g_hash_table_lookup(ts->bdev_states, &devcode_gint); /* the result of the lookup might be NULL. that's ok, the rest of the function @@ -1868,8 +1857,8 @@ void draw_closure(gpointer key, gpointer value, gpointer user_data) #ifdef EXTRA_CHECK g_assert(lttv_traceset_number(tsc->ts) > 0); #endif //EXTRA_CHECK - //TODO Fdeslauriers 2012-07-17: adapt for multiple traces - LttvTrace *trace = lttv_traceset_get(ts,0); + + LttvTrace *trace = lttv_traceset_get(ts,process_info->trace_num); LttvTraceState *ts = trace->state; /* Only draw for processes that are currently in the trace states */ @@ -2081,8 +2070,6 @@ int after_chunk(void *hook_data, void *call_data) ControlFlowData *resourceview_data = events_request->viewer_data; LttvTraceset *ts = (LttvTraceset*)call_data; - LttTime end_time; - ProcessList *process_list = resourceview_data->process_list; guint i; guint nb_trace = lttv_traceset_number(ts); @@ -2096,12 +2083,7 @@ int after_chunk(void *hook_data, void *call_data) } g_free(process_list->current_hash_data); process_list->current_hash_data = NULL; -#ifdef BABEL_CLEANUP - if(tfc != NULL) - end_time = LTT_TIME_MIN(tfc->timestamp, events_request->end_time); - else /* end of traceset, or position now out of request : end */ - end_time = events_request->end_time; -#endif + draw_closing_lines(resourceview_data, events_request); return 0; @@ -2126,10 +2108,6 @@ int before_statedump_end(void *hook_data, void *call_data) ControlFlowData *resourceview_data = (ControlFlowData*) hook_data; - - LttvTraceState *ts = event->state; - - gint i; #ifdef BABEL_CLEANUP