//#include <pango/pango.h>
-#include <ltt/event.h>
-#include <ltt/time.h>
-#include <ltt/trace.h>
-
#include <lttv/lttv.h>
#include <lttv/hook.h>
#include <lttv/state.h>
gint num_traces = lttv_traceset_number(ts);
gint i;
LttvTrace *trace;
- LttvTraceState *tstate;
LttvHooks *background_ready_hook =
lttv_hooks_new();
* 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
// /* 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;
//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
{
LttvEvent *event;
guint cpu;
- guint pid = 0;
LttvTraceState *ts;
LttvProcessState *process;
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);
guint64 irq;
guint cpu = lttv_traceset_get_cpuid_from_event(event);
- LttvTraceset *traceSet = lttvwindow_get_traceset(resourceview_data->tab);
LttvTraceState *ts = event->state;;
/*
} 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.
*/
if (strncmp(lttv_traceset_get_name_from_event(event),"softirq_entry",sizeof("softirq_entry")) == 0
- || strncmp(lttv_traceset_get_name_from_event(event),"softirq_raise",sizeof("softirq_raise")) == 0) {
+ || strncmp(lttv_traceset_get_name_from_event(event),"softirq_raise",sizeof("softirq_raise")) == 0
+ || strncmp(lttv_traceset_get_name_from_event(event),"softirq_exit",sizeof("softirq_exit")) == 0 ) {
+
softirq = lttv_event_get_long_unsigned(event, "vec");
- } else if (strncmp(lttv_traceset_get_name_from_event(event),"softirq_exit",sizeof("softirq_exit")) == 0) {
- 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;
- gint len = ts->cpu_states[cpu].softirq_stack->len;
- if(len) {
- softirq = g_array_index(ts->cpu_states[cpu].softirq_stack, gint, len-1);
- }
- else {
- return 0;
- }
-
+
+ } else {
+ return 0;
+ }
- guint trace_num = 0;//TODO change it to the right value;
+ LttTime evtime = lttv_event_get_timestamp(event);
+ ControlFlowData *resourceview_data = (ControlFlowData*)hook_data;
+ ts = event->state;
+ 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.
&hashed_process_data->next_good_time);
}
}
- }
+
return 0;
}
#ifdef TRAP_NO_EXIST
{
LttvEvent *event;
guint cpu;
- guint pid = 0;
LttvTraceState *ts;
LttvProcessState *process;
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
#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 */
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);
}
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;
ControlFlowData *resourceview_data = (ControlFlowData*) hook_data;
-
- LttvTraceState *ts = event->state;
-
-
gint i;
#ifdef BABEL_CLEANUP