+static gboolean sched_try_wakeup(void *hook_data, void *call_data)
+{
+ LttvTracefileState *s = (LttvTracefileState *)call_data;
+ LttEvent *e = ltt_tracefile_get_event(s->parent.tf);
+ LttvTraceHook *th = (LttvTraceHook *)hook_data;
+ LttvProcessState *process;
+ gint woken_pid;
+ guint woken_cpu;
+
+ woken_pid = ltt_event_get_int(e, lttv_trace_get_hook_field(th, 0));
+ woken_cpu = ltt_event_get_unsigned(e, lttv_trace_get_hook_field(th, 1));
+
+ process = lttv_state_find_process_or_create(
+ (LttvTraceState*)s->parent.t_context,
+ woken_cpu, woken_pid,
+ &s->parent.timestamp);
+ process->state->s = LTTV_STATE_WAIT_CPU;
+ process->state->change = s->parent.timestamp;
+
+ g_debug("Wakeup: process %d on CPU %u\n", woken_pid, woken_cpu);
+
+ return FALSE;
+}
+