GQuark
LTT_FACILITY_KERNEL,
LTT_FACILITY_KERNEL_ARCH,
- LTT_FACILITY_PROCESS,
+ LTT_FACILITY_LIST,
LTT_FACILITY_FS,
- LTT_FACILITY_STATEDUMP,
LTT_FACILITY_USER_GENERIC;
/* Events Quarks */
LTT_EVENT_IRQ_EXIT,
LTT_EVENT_SOFT_IRQ_ENTRY,
LTT_EVENT_SOFT_IRQ_EXIT,
- LTT_EVENT_SCHEDCHANGE,
- LTT_EVENT_FORK,
- LTT_EVENT_KERNEL_THREAD,
- LTT_EVENT_EXIT,
- LTT_EVENT_FREE,
+ LTT_EVENT_SCHED_SCHEDULE,
+ LTT_EVENT_PROCESS_FORK,
+ LTT_EVENT_KTHREAD_CREATE,
+ LTT_EVENT_PROCESS_EXIT,
+ LTT_EVENT_PROCESS_FREE,
LTT_EVENT_EXEC,
- LTT_EVENT_ENUM_PROCESS_STATE,
+ LTT_EVENT_PROCESS_STATE,
LTT_EVENT_STATEDUMP_END,
LTT_EVENT_FUNCTION_ENTRY,
LTT_EVENT_FUNCTION_EXIT,
LttvProcessStatus
LTTV_STATE_UNNAMED,
- LTTV_STATE_UNBRANDED,
LTTV_STATE_WAIT_FORK,
LTTV_STATE_WAIT_CPU,
LTTV_STATE_EXIT,
LTTV_STATE_RUN,
LTTV_STATE_DEAD;
+GQuark
+ LTTV_STATE_UNBRANDED;
+
LttvProcessType
LTTV_STATE_USER_THREAD,
LTTV_STATE_KERNEL_THREAD;
&g_array_index(self->running_process[i]->execution_stack,
LttvExecutionState, 0);
es->t = LTTV_STATE_MODE_UNKNOWN;
+ es->s = LTTV_STATE_UNNAMED;
- self->running_process[i]->state->s = LTTV_STATE_RUN;
+ //self->running_process[i]->state->s = LTTV_STATE_RUN;
self->running_process[i]->cpu = i;
}
GQuark *trap_names;
guint nb_traps;
GQuark *irq_names;
+ guint nb_irqs;
GQuark *soft_irq_names;
+ guint nb_softirqs;
} LttvNameTables;
for(i = 0 ; i < nb ; i++) {
name_tables->syscall_names[i] = ltt_enum_string_get(t, i);
+ if(!name_tables->syscall_names[i]) {
+ GString *string = g_string_new("");
+ g_string_printf(string, "syscall %u", i);
+ name_tables->syscall_names[i] = g_quark_from_string(string->str);
+ g_string_free(string, TRUE);
+ }
}
//name_tables->syscall_names = g_new(GQuark, 256);
name_tables->nb_syscalls = 0;
}
- if(!lttv_trace_find_hook(tcs->parent.t, LTT_FACILITY_KERNEL,
+ if(!lttv_trace_find_hook(tcs->parent.t, LTT_FACILITY_KERNEL_ARCH,
LTT_EVENT_TRAP_ENTRY,
LTT_FIELD_TRAP_ID, 0, 0,
NULL, NULL, &h)) {
}
*/
+ name_tables->nb_irqs = 256;
name_tables->irq_names = g_new(GQuark, 256);
for(i = 0 ; i < 256 ; i++) {
g_string_printf(fe_name, "irq %d", i);
name_tables->irq_names[i] = g_quark_from_string(fe_name->str);
}
} else {
+ name_tables->nb_irqs = 0;
name_tables->irq_names = NULL;
}
/*
}
*/
+ name_tables->nb_softirqs = 256;
name_tables->soft_irq_names = g_new(GQuark, 256);
for(i = 0 ; i < 256 ; i++) {
g_string_printf(fe_name, "softirq %d", i);
tcs->nb_traps = name_tables->nb_traps;
tcs->irq_names = name_tables->irq_names;
tcs->soft_irq_names = name_tables->soft_irq_names;
+ tcs->nb_irqs = name_tables->nb_irqs;
+ tcs->nb_softirqs = name_tables->nb_softirqs;
}
process->state = es =
&g_array_index(process->execution_stack, LttvExecutionState, 0);
es->t = LTTV_STATE_MODE_UNKNOWN;
+ es->s = LTTV_STATE_UNNAMED;
}
return process;
}
LttField *f = thf->f1;
LttvExecutionSubmode submode;
+ guint64 irq = ltt_event_get_long_unsigned(e, f);
+ guint64 nb_irqs = ((LttvTraceState *)(s->parent.t_context))->nb_irqs;
+ GString *string;
- submode = ((LttvTraceState *)(s->parent.t_context))->irq_names[
- ltt_event_get_unsigned(e, f)];
+ if(irq < nb_irqs) {
+ submode = ((LttvTraceState *)(s->parent.t_context))->irq_names[irq];
+ } else {
+ /* Fixup an incomplete irq table */
+ GString *string = g_string_new("");
+ g_string_printf(string, "irq %llu", irq);
+ submode = g_quark_from_string(string->str);
+ g_string_free(string, TRUE);
+ }
/* Do something with the info about being in user or system mode when int? */
push_state(s, LTTV_STATE_IRQ, submode);
LttField *f = thf->f1;
LttvExecutionSubmode submode;
+ guint64 softirq = ltt_event_get_long_unsigned(e, f);
+ guint64 nb_softirqs = ((LttvTraceState *)(s->parent.t_context))->nb_softirqs;
+ GString *string;
- submode = ((LttvTraceState *)(s->parent.t_context))->soft_irq_names[
- ltt_event_get_long_unsigned(e, f)];
+ if(softirq < nb_softirqs) {
+ submode = ((LttvTraceState *)(s->parent.t_context))->soft_irq_names[softirq];
+ } else {
+ /* Fixup an incomplete irq table */
+ GString *string = g_string_new("");
+ g_string_printf(string, "softirq %llu", softirq);
+ submode = g_quark_from_string(string->str);
+ g_string_free(string, TRUE);
+ }
/* Do something with the info about being in user or system mode when int? */
push_state(s, LTTV_STATE_SOFT_IRQ, submode);
//if(unlikely(process->pid != pid_out)) {
// g_assert(process->pid == 0);
//}
- if(process->pid == 0 && process->state->t == LTTV_STATE_MODE_UNKNOWN) {
- /* Scheduling out of pid 0 at beginning of the trace :
- * we know for sure it is in syscall mode at this point. */
- g_assert(process->execution_stack->len == 1);
- process->state->t = LTTV_STATE_SYSCALL;
- }
- if(unlikely(process->state->s == LTTV_STATE_EXIT)) {
- process->state->s = LTTV_STATE_ZOMBIE;
- process->state->change = s->parent.timestamp;
+ if(process->pid == 0
+ && process->state->t == LTTV_STATE_MODE_UNKNOWN) {
+ if(pid_out == 0) {
+ /* Scheduling out of pid 0 at beginning of the trace :
+ * we know for sure it is in syscall mode at this point. */
+ g_assert(process->execution_stack->len == 1);
+ process->state->t = LTTV_STATE_SYSCALL;
+ process->state->s = LTTV_STATE_WAIT;
+ process->state->change = s->parent.timestamp;
+ process->state->entry = s->parent.timestamp;
+ }
} else {
- if(unlikely(state_out == 0)) process->state->s = LTTV_STATE_WAIT_CPU;
- else process->state->s = LTTV_STATE_WAIT;
- process->state->change = s->parent.timestamp;
+ if(unlikely(process->state->s == LTTV_STATE_EXIT)) {
+ process->state->s = LTTV_STATE_ZOMBIE;
+ process->state->change = s->parent.timestamp;
+ } else {
+ if(unlikely(state_out == 0)) process->state->s = LTTV_STATE_WAIT_CPU;
+ else process->state->s = LTTV_STATE_WAIT;
+ process->state->change = s->parent.timestamp;
+ }
+
+ if(state_out == 32 || state_out == 128)
+ exit_process(s, process); /* EXIT_DEAD || TASK_DEAD */
+ /* see sched.h for states */
}
-
- if(state_out == 32)
- exit_process(s, process); /* EXIT_DEAD */
- /* see sched.h for states */
}
process = ts->running_process[cpu] =
lttv_state_find_process_or_create(
return FALSE;
}
-/* We stamp a newly created process as kernel_thread */
+/* We stamp a newly created process as kernel_thread.
+ * The thread should not be running yet. */
static gboolean process_kernel_thread(void *hook_data, void *call_data)
{
LttvTracefileState *s = (LttvTracefileState *)call_data;
s->parent.target_pid = pid;
process = lttv_state_find_process(ts, ANY_CPU, pid);
- es = &g_array_index(process->execution_stack, LttvExecutionState, 0);
+ process->execution_stack =
+ g_array_set_size(process->execution_stack, 1);
+ es = process->state =
+ &g_array_index(process->execution_stack, LttvExecutionState, 0);
es->t = LTTV_STATE_SYSCALL;
process->type = LTTV_STATE_KERNEL_THREAD;
LttvTracefileContext *tfc = (LttvTracefileContext *)user_data;
LttTime *timestamp = (LttTime*)user_data;
-printf("%s %s\n", g_quark_to_string(process->type), g_quark_to_string(process->state->t));
-
if(process->type == LTTV_STATE_KERNEL_THREAD) {
- if(process->state->t == LTTV_STATE_MODE_UNKNOWN) {
- process->state->t = LTTV_STATE_SYSCALL;
- process->state->s = LTTV_STATE_WAIT;
- process->state->n = LTTV_STATE_SUBMODE_NONE;
+ es = &g_array_index(process->execution_stack, LttvExecutionState, 0);
+ if(es->t == LTTV_STATE_MODE_UNKNOWN) {
+ es->t = LTTV_STATE_SYSCALL;
+ es->n = LTTV_STATE_SUBMODE_NONE;
+ es->entry = *timestamp;
+ es->change = *timestamp;
+ es->cum_cpu_time = ltt_time_zero;
+ if(es->s == LTTV_STATE_UNNAMED)
+ es->s = LTTV_STATE_WAIT;
}
} else {
- if(process->state->t == LTTV_STATE_MODE_UNKNOWN) {
- process->execution_stack = g_array_set_size(process->execution_stack, 2);
- es = process->state = &g_array_index(process->execution_stack,
- LttvExecutionState, 0);
+ es = &g_array_index(process->execution_stack, LttvExecutionState, 0);
+ if(es->t == LTTV_STATE_MODE_UNKNOWN) {
es->t = LTTV_STATE_USER_MODE;
es->n = LTTV_STATE_SUBMODE_NONE;
es->entry = *timestamp;
//g_assert(timestamp->tv_sec != 0);
es->change = *timestamp;
es->cum_cpu_time = ltt_time_zero;
- es->s = LTTV_STATE_RUN;
+ if(es->s == LTTV_STATE_UNNAMED)
+ es->s = LTTV_STATE_RUN;
- es = process->state = &g_array_index(process->execution_stack,
+ if(process->execution_stack->len == 1) {
+ /* Still in bottom unknown mode, means never did a system call
+ * May be either in user mode, syscall mode, running or waiting.*/
+ /* FIXME : we may be tagging syscall mode when being user mode */
+ process->execution_stack =
+ g_array_set_size(process->execution_stack, 2);
+ es = process->state = &g_array_index(process->execution_stack,
LttvExecutionState, 1);
- es->t = LTTV_STATE_SYSCALL;
- es->n = LTTV_STATE_SUBMODE_NONE;
- es->entry = *timestamp;
- //g_assert(timestamp->tv_sec != 0);
- es->change = *timestamp;
- es->cum_cpu_time = ltt_time_zero;
- es->s = LTTV_STATE_WAIT;
+ es->t = LTTV_STATE_SYSCALL;
+ es->n = LTTV_STATE_SUBMODE_NONE;
+ es->entry = *timestamp;
+ //g_assert(timestamp->tv_sec != 0);
+ es->change = *timestamp;
+ es->cum_cpu_time = ltt_time_zero;
+ if(es->s == LTTV_STATE_WAIT_FORK)
+ es->s = LTTV_STATE_WAIT;
+ }
}
}
}
LttField *f4, *f5, *f6, *f7, *f8;
GQuark type, mode, submode, status;
LttvExecutionState *es;
+ guint i, nb_cpus;
/* PID */
pid = ltt_event_get_unsigned(e, thf->f1);
if(f8) tgid = ltt_event_get_unsigned(e, f8);
else tgid = 0;
- /* The process might exist if a process was forked while performing the state
- * dump. */
- process = lttv_state_find_process(ts, ANY_CPU, pid);
- if(process == NULL) {
- parent_process = lttv_state_find_process(ts, ANY_CPU, parent_pid);
- process = lttv_state_create_process(ts, parent_process, cpu,
- pid, tgid, g_quark_from_string(command),
- &s->parent.timestamp);
-
- /* Keep the stack bottom : a running user mode */
- /* Disabled because of inconsistencies in the current statedump states. */
- if(type == LTTV_STATE_KERNEL_THREAD) {
- /* Only keep the bottom
- * FIXME Kernel thread : can be in syscall or interrupt or trap. */
- /* Will cause expected trap when in fact being syscall (even after end of
- * statedump event)
- * Will cause expected interrupt when being syscall. (only before end of
- * statedump event) */
- // This will cause a "popping last state on stack, ignoring it."
- process->execution_stack = g_array_set_size(process->execution_stack, 1);
- es = process->state = &g_array_index(process->execution_stack,
- LttvExecutionState, 0);
+
+ if(pid == 0) {
+ nb_cpus = ltt_trace_get_num_cpu(ts->parent.t);
+ for(i=0; i<nb_cpus; i++) {
+ process = lttv_state_find_process(ts, i, pid);
+ g_assert(process != NULL);
+
+ process->ppid = parent_pid;
+ process->tgid = tgid;
+ process->name = g_quark_from_string(command);
+ es =
+ &g_array_index(process->execution_stack, LttvExecutionState, 0);
process->type = LTTV_STATE_KERNEL_THREAD;
- es->t = LTTV_STATE_MODE_UNKNOWN;
- es->s = LTTV_STATE_UNNAMED;
- es->n = LTTV_STATE_SUBMODE_UNKNOWN;
-#if 0
- es->t = LTTV_STATE_SYSCALL;
- es->s = status;
- es->n = submode;
-#endif //0
+ }
+
+ } else {
+ /* The process might exist if a process was forked while performing the
+ * state dump. */
+ process = lttv_state_find_process(ts, ANY_CPU, pid);
+ if(process == NULL) {
+ parent_process = lttv_state_find_process(ts, ANY_CPU, parent_pid);
+ process = lttv_state_create_process(ts, parent_process, cpu,
+ pid, tgid, g_quark_from_string(command),
+ &s->parent.timestamp);
+
+ /* Keep the stack bottom : a running user mode */
+ /* Disabled because of inconsistencies in the current statedump states. */
+ if(type == LTTV_STATE_KERNEL_THREAD) {
+ /* Only keep the bottom
+ * FIXME Kernel thread : can be in syscall or interrupt or trap. */
+ /* Will cause expected trap when in fact being syscall (even after end of
+ * statedump event)
+ * Will cause expected interrupt when being syscall. (only before end of
+ * statedump event) */
+ // This will cause a "popping last state on stack, ignoring it."
+ process->execution_stack = g_array_set_size(process->execution_stack, 1);
+ es = process->state = &g_array_index(process->execution_stack,
+ LttvExecutionState, 0);
+ process->type = LTTV_STATE_KERNEL_THREAD;
+ es->t = LTTV_STATE_MODE_UNKNOWN;
+ es->s = LTTV_STATE_UNNAMED;
+ es->n = LTTV_STATE_SUBMODE_UNKNOWN;
+ #if 0
+ es->t = LTTV_STATE_SYSCALL;
+ es->s = status;
+ es->n = submode;
+ #endif //0
+ } else {
+ /* User space process :
+ * bottom : user mode
+ * either currently running or scheduled out.
+ * can be scheduled out because interrupted in (user mode or in syscall)
+ * or because of an explicit call to the scheduler in syscall. Note that
+ * the scheduler call comes after the irq_exit, so never in interrupt
+ * context. */
+ // temp workaround : set size to 1 : only have user mode bottom of stack.
+ // will cause g_info message of expected syscall mode when in fact being
+ // in user mode. Can also cause expected trap when in fact being user
+ // mode in the event of a page fault reenabling interrupts in the handler.
+ // Expected syscall and trap can also happen after the end of statedump
+ // This will cause a "popping last state on stack, ignoring it."
+ process->execution_stack = g_array_set_size(process->execution_stack, 1);
+ es = process->state = &g_array_index(process->execution_stack,
+ LttvExecutionState, 0);
+ es->t = LTTV_STATE_MODE_UNKNOWN;
+ es->s = LTTV_STATE_UNNAMED;
+ es->n = LTTV_STATE_SUBMODE_UNKNOWN;
+ #if 0
+ es->t = LTTV_STATE_USER_MODE;
+ es->s = status;
+ es->n = submode;
+ #endif //0
+ }
+ #if 0
+ /* UNKNOWN STATE */
+ {
+ es = process->state = &g_array_index(process->execution_stack,
+ LttvExecutionState, 1);
+ es->t = LTTV_STATE_MODE_UNKNOWN;
+ es->s = LTTV_STATE_UNNAMED;
+ es->n = LTTV_STATE_SUBMODE_UNKNOWN;
+ }
+ #endif //0
} else {
- /* User space process :
- * bottom : user mode
- * either currently running or scheduled out.
- * can be scheduled out because interrupted in (user mode or in syscall)
- * or because of an explicit call to the scheduler in syscall. Note that
- * the scheduler call comes after the irq_exit, so never in interrupt
- * context. */
- // temp workaround : set size to 1 : only have user mode bottom of stack.
- // will cause g_info message of expected syscall mode when in fact being
- // in user mode. Can also cause expected trap when in fact being user
- // mode in the event of a page fault reenabling interrupts in the handler.
- // Expected syscall and trap can also happen after the end of statedump
- // This will cause a "popping last state on stack, ignoring it."
- process->execution_stack = g_array_set_size(process->execution_stack, 1);
- es = process->state = &g_array_index(process->execution_stack,
- LttvExecutionState, 0);
- es->t = LTTV_STATE_MODE_UNKNOWN;
- es->s = LTTV_STATE_UNNAMED;
- es->n = LTTV_STATE_SUBMODE_UNKNOWN;
+ /* The process has already been created :
+ * Probably was forked while dumping the process state or
+ * was simply scheduled in prior to get the state dump event.
+ */
+ process->ppid = parent_pid;
+ process->tgid = tgid;
+ process->name = g_quark_from_string(command);
+ process->type = type;
+ es =
+ &g_array_index(process->execution_stack, LttvExecutionState, 0);
#if 0
- es->t = LTTV_STATE_USER_MODE;
- es->s = status;
- es->n = submode;
+ if(es->t == LTTV_STATE_MODE_UNKNOWN) {
+ if(type == LTTV_STATE_KERNEL_THREAD)
+ es->t = LTTV_STATE_SYSCALL;
+ else
+ es->t = LTTV_STATE_USER_MODE;
+ }
#endif //0
+ /* Don't mess around with the stack, it will eventually become
+ * ok after the end of state dump. */
}
-#if 0
- /* UNKNOWN STATE */
- {
- es = process->state = &g_array_index(process->execution_stack,
- LttvExecutionState, 1);
- es->t = LTTV_STATE_MODE_UNKNOWN;
- es->s = LTTV_STATE_UNNAMED;
- es->n = LTTV_STATE_SUBMODE_UNKNOWN;
- }
-#endif //0
- } else {
- /* The process has already been created :
- * Probably was forked while dumping the process state or
- * was simply scheduled in prior to get the state dump event.
- * We know for sure if it is a user space thread.
- */
- process->ppid = parent_pid;
- process->tgid = tgid;
- process->name = g_quark_from_string(command);
- es =
- &g_array_index(process->execution_stack, LttvExecutionState, 0);
- if(type != LTTV_STATE_KERNEL_THREAD)
- es->t = LTTV_STATE_USER_MODE;
- /* Don't mess around with the stack, it will eventually become
- * ok after the end of state dump. */
}
return FALSE;
if(ret) hn--;
ret = lttv_trace_find_hook(ts->parent.t,
- LTT_FACILITY_KERNEL, LTT_EVENT_TRAP_ENTRY,
+ LTT_FACILITY_KERNEL_ARCH, LTT_EVENT_TRAP_ENTRY,
LTT_FIELD_TRAP_ID, 0, 0,
trap_entry, NULL, &g_array_index(hooks, LttvTraceHook, hn++));
if(ret) hn--;
ret = lttv_trace_find_hook(ts->parent.t,
- LTT_FACILITY_KERNEL, LTT_EVENT_TRAP_EXIT,
+ LTT_FACILITY_KERNEL_ARCH, LTT_EVENT_TRAP_EXIT,
0, 0, 0,
trap_exit, NULL, &g_array_index(hooks, LttvTraceHook, hn++));
if(ret) hn--;
if(ret) hn--;
ret = lttv_trace_find_hook(ts->parent.t,
- LTT_FACILITY_PROCESS, LTT_EVENT_SCHEDCHANGE,
+ LTT_FACILITY_KERNEL, LTT_EVENT_SCHED_SCHEDULE,
LTT_FIELD_OUT, LTT_FIELD_IN, LTT_FIELD_OUT_STATE,
schedchange, NULL, &g_array_index(hooks, LttvTraceHook, hn++));
if(ret) hn--;
ret = lttv_trace_find_hook(ts->parent.t,
- LTT_FACILITY_PROCESS, LTT_EVENT_FORK,
+ LTT_FACILITY_KERNEL, LTT_EVENT_PROCESS_FORK,
LTT_FIELD_PARENT_PID, LTT_FIELD_CHILD_PID, LTT_FIELD_TGID,
process_fork, NULL, &g_array_index(hooks, LttvTraceHook, hn++));
if(ret) hn--;
ret = lttv_trace_find_hook(ts->parent.t,
- LTT_FACILITY_PROCESS, LTT_EVENT_KERNEL_THREAD,
+ LTT_FACILITY_KERNEL_ARCH, LTT_EVENT_KTHREAD_CREATE,
LTT_FIELD_PID, 0, 0,
process_kernel_thread, NULL, &g_array_index(hooks, LttvTraceHook,
hn++));
if(ret) hn--;
ret = lttv_trace_find_hook(ts->parent.t,
- LTT_FACILITY_PROCESS, LTT_EVENT_EXIT,
+ LTT_FACILITY_KERNEL, LTT_EVENT_PROCESS_EXIT,
LTT_FIELD_PID, 0, 0,
process_exit, NULL, &g_array_index(hooks, LttvTraceHook, hn++));
if(ret) hn--;
ret = lttv_trace_find_hook(ts->parent.t,
- LTT_FACILITY_PROCESS, LTT_EVENT_FREE,
+ LTT_FACILITY_KERNEL, LTT_EVENT_PROCESS_FREE,
LTT_FIELD_PID, 0, 0,
process_free, NULL, &g_array_index(hooks, LttvTraceHook, hn++));
if(ret) hn--;
/* statedump-related hooks */
ret = lttv_trace_find_hook(ts->parent.t,
- LTT_FACILITY_STATEDUMP, LTT_EVENT_ENUM_PROCESS_STATE,
+ LTT_FACILITY_LIST, LTT_EVENT_PROCESS_STATE,
LTT_FIELD_PID, LTT_FIELD_PARENT_PID, LTT_FIELD_NAME,
enum_process_state, NULL, &g_array_index(hooks, LttvTraceHook, hn++));
if(ret) hn--;
ret = lttv_trace_find_hook(ts->parent.t,
- LTT_FACILITY_STATEDUMP, LTT_EVENT_STATEDUMP_END,
+ LTT_FACILITY_LIST, LTT_EVENT_STATEDUMP_END,
0, 0, 0,
statedump_end, NULL, &g_array_index(hooks, LttvTraceHook, hn++));
if(ret) hn--;
LTT_FACILITY_KERNEL = g_quark_from_string("kernel");
LTT_FACILITY_KERNEL_ARCH = g_quark_from_string("kernel_arch");
- LTT_FACILITY_PROCESS = g_quark_from_string("process");
LTT_FACILITY_FS = g_quark_from_string("fs");
- LTT_FACILITY_STATEDUMP = g_quark_from_string("statedump");
+ LTT_FACILITY_LIST = g_quark_from_string("list");
LTT_FACILITY_USER_GENERIC = g_quark_from_string("user_generic");
LTT_EVENT_IRQ_EXIT = g_quark_from_string("irq_exit");
LTT_EVENT_SOFT_IRQ_ENTRY = g_quark_from_string("soft_irq_entry");
LTT_EVENT_SOFT_IRQ_EXIT = g_quark_from_string("soft_irq_exit");
- LTT_EVENT_SCHEDCHANGE = g_quark_from_string("schedchange");
- LTT_EVENT_FORK = g_quark_from_string("fork");
- LTT_EVENT_KERNEL_THREAD = g_quark_from_string("kernel_thread");
- LTT_EVENT_EXIT = g_quark_from_string("exit");
- LTT_EVENT_FREE = g_quark_from_string("free");
+ LTT_EVENT_SCHED_SCHEDULE = g_quark_from_string("sched_schedule");
+ LTT_EVENT_PROCESS_FORK = g_quark_from_string("process_fork");
+ LTT_EVENT_KTHREAD_CREATE = g_quark_from_string("kthread_create");
+ LTT_EVENT_PROCESS_EXIT = g_quark_from_string("process_exit");
+ LTT_EVENT_PROCESS_FREE = g_quark_from_string("procesS_free");
LTT_EVENT_EXEC = g_quark_from_string("exec");
- LTT_EVENT_ENUM_PROCESS_STATE = g_quark_from_string("enumerate_process_state");
+ LTT_EVENT_PROCESS_STATE = g_quark_from_string("process_state");
LTT_EVENT_STATEDUMP_END = g_quark_from_string("statedump_end");
LTT_EVENT_FUNCTION_ENTRY = g_quark_from_string("function_entry");
LTT_EVENT_FUNCTION_EXIT = g_quark_from_string("function_exit");