fix marker id off by one
[lttv.git] / ltt / branches / poly / lttv / lttv / state.c
index a4532f57642053a4086b65e0c01fd94ce63c98ca..4d5afc30ca86c1d09afeda08b6a3dc43dce7a6ae 100644 (file)
 #include <config.h>
 #endif
 
+#include <glib.h>
 #include <lttv/lttv.h>
 #include <lttv/module.h>
 #include <lttv/state.h>
 #include <ltt/trace.h>
 #include <ltt/event.h>
 #include <ltt/ltt.h>
+#include <ltt/marker-desc.h>
 #include <stdio.h>
 #include <string.h>
 
@@ -104,8 +106,7 @@ GQuark
     LTT_FIELD_MINOR,
     LTT_FIELD_MAJOR,
     LTT_FIELD_OPERATION,
-    LTT_FIELD_ACTION,
-    LTT_FIELD_NUM;
+    LTT_FIELD_ACTION;
 
 LttvExecutionMode
   LTTV_STATE_MODE_UNKNOWN,
@@ -1632,13 +1633,14 @@ create_name_tables(LttvTraceState *tcs)
   hooks = g_array_sized_new(FALSE, FALSE, sizeof(LttvTraceHook), 1);
 
   if(!lttv_trace_find_hook(tcs->parent.t,
+      LTT_FACILITY_KERNEL_ARCH,
       LTT_EVENT_SYSCALL_ENTRY,
       FIELD_ARRAY(LTT_FIELD_SYSCALL_ID),
       NULL, NULL, &hooks)) {
     
 //    th = lttv_trace_hook_get_first(&th);
 //    
-//    t = ltt_field_type(th->f1);
+//    t = ltt_field_type(lttv_trace_get_hook_field(th, 0));
 //    nb = ltt_type_element_number(t);
 //    
 //    name_tables->syscall_names = g_new(GQuark, nb);
@@ -1666,13 +1668,14 @@ create_name_tables(LttvTraceState *tcs)
   lttv_trace_hook_remove_all(&hooks);
 
   if(!lttv_trace_find_hook(tcs->parent.t,
+        LTT_FACILITY_KERNEL_ARCH,
         LTT_EVENT_TRAP_ENTRY,
         FIELD_ARRAY(LTT_FIELD_TRAP_ID),
         NULL, NULL, &hooks)) {
 
 //    th = lttv_trace_hook_get_first(&th);
 //
-//    t = ltt_field_type(th->f1);
+//    t = ltt_field_type(lttv_trace_get_hook_field(th, 0));
 //    //nb = ltt_type_element_number(t);
 //
 //    name_tables->trap_names = g_new(GQuark, nb);
@@ -1694,6 +1697,7 @@ create_name_tables(LttvTraceState *tcs)
   lttv_trace_hook_remove_all(&hooks);
 
   if(!lttv_trace_find_hook(tcs->parent.t,
+        LTT_FACILITY_KERNEL,
         LTT_EVENT_IRQ_ENTRY,
         FIELD_ARRAY(LTT_FIELD_IRQ_ID),
         NULL, NULL, &hooks)) {
@@ -2193,7 +2197,7 @@ static gboolean trap_entry(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;
-  struct marker_field *f = th->f1;
+  struct marker_field *f = lttv_trace_get_hook_field(th, 0);
 
   LttvExecutionSubmode submode;
 
@@ -2237,8 +2241,7 @@ static gboolean irq_entry(void *hook_data, void *call_data)
   LttEvent *e = ltt_tracefile_get_event(s->parent.tf);
   //guint8 ev_id = ltt_event_eventtype_id(e);
   LttvTraceHook *th = (LttvTraceHook *)hook_data;
-  g_assert(th->f1 != NULL);
-  struct marker_field *f = th->f1;
+  struct marker_field *f = lttv_trace_get_hook_field(th, 0);
 
   LttvExecutionSubmode submode;
   guint64 irq = ltt_event_get_long_unsigned(e, f);
@@ -2299,8 +2302,7 @@ static gboolean soft_irq_entry(void *hook_data, void *call_data)
   LttEvent *e = ltt_tracefile_get_event(s->parent.tf);
   //guint8 ev_id = ltt_event_eventtype_id(e);
   LttvTraceHook *th = (LttvTraceHook *)hook_data;
-  g_assert(th->f1 != NULL);
-  struct marker_field *f = th->f1;
+  struct marker_field *f = lttv_trace_get_hook_field(th, 0);
 
   LttvExecutionSubmode submode;
   guint64 softirq = ltt_event_get_long_unsigned(e, f);
@@ -2329,8 +2331,9 @@ static gboolean enum_interrupt(void *hook_data, void *call_data)
   //guint8 ev_id = ltt_event_eventtype_id(e);
   LttvTraceHook *th = (LttvTraceHook *)hook_data;
 
-  GQuark action = g_quark_from_string(ltt_event_get_string(e, th->f1));
-  guint irq = ltt_event_get_long_unsigned(e, th->f2);
+  GQuark action = g_quark_from_string(ltt_event_get_string(e,
+    lttv_trace_get_hook_field(th, 0)));
+  guint irq = ltt_event_get_long_unsigned(e, lttv_trace_get_hook_field(th, 1));
 
   ts->irq_names[irq] = action;
 
@@ -2346,9 +2349,12 @@ static gboolean bdev_request_issue(void *hook_data, void *call_data)
   //guint8 ev_id = ltt_event_eventtype_id(e);
   LttvTraceHook *th = (LttvTraceHook *)hook_data;
 
-  guint major = ltt_event_get_long_unsigned(e, th->f1);
-  guint minor = ltt_event_get_long_unsigned(e, th->f2);
-  guint oper = ltt_event_get_long_unsigned(e, th->f3);
+  guint major = ltt_event_get_long_unsigned(e,
+    lttv_trace_get_hook_field(th, 0));
+  guint minor = ltt_event_get_long_unsigned(e,
+    lttv_trace_get_hook_field(th, 1));
+  guint oper = ltt_event_get_long_unsigned(e,
+    lttv_trace_get_hook_field(th, 2));
   guint16 devcode = MKDEV(major,minor);
 
   /* have we seen this block device before? */
@@ -2369,9 +2375,12 @@ static gboolean bdev_request_complete(void *hook_data, void *call_data)
   LttEvent *e = ltt_tracefile_get_event(s->parent.tf);
   LttvTraceHook *th = (LttvTraceHook *)hook_data;
 
-  guint major = ltt_event_get_long_unsigned(e, th->f1);
-  guint minor = ltt_event_get_long_unsigned(e, th->f2);
-  //guint oper = ltt_event_get_long_unsigned(e, th->f3);
+  guint major = ltt_event_get_long_unsigned(e,
+    lttv_trace_get_hook_field(th, 0));
+  guint minor = ltt_event_get_long_unsigned(e,
+    lttv_trace_get_hook_field(th, 1));
+  //guint oper = ltt_event_get_long_unsigned(e,
+  //  lttv_trace_get_hook_field(th, 2));
   guint16 devcode = MKDEV(major,minor);
 
   /* have we seen this block device before? */
@@ -2393,7 +2402,7 @@ static void push_function(LttvTracefileState *tfs, guint64 funcptr)
 
   guint depth = process->user_stack->len;
 
-  process->user_stack = 
+  process->user_stack =
     g_array_set_size(process->user_stack, depth + 1);
     
   new_func = &g_array_index(process->user_stack, guint64, depth);
@@ -2441,8 +2450,7 @@ static gboolean function_entry(void *hook_data, void *call_data)
   LttEvent *e = ltt_tracefile_get_event(s->parent.tf);
   //guint8 ev_id = ltt_event_eventtype_id(e);
   LttvTraceHook *th = (LttvTraceHook *)hook_data;
-  g_assert(th->f1 != NULL);
-  struct marker_field *f = th->f1;
+  struct marker_field *f = lttv_trace_get_hook_field(th, 0);
   guint64 funcptr = ltt_event_get_long_unsigned(e, f);
 
   push_function(s, funcptr);
@@ -2455,8 +2463,7 @@ static gboolean function_exit(void *hook_data, void *call_data)
   LttEvent *e = ltt_tracefile_get_event(s->parent.tf);
   //guint8 ev_id = ltt_event_eventtype_id(e);
   LttvTraceHook *th = (LttvTraceHook *)hook_data;
-  g_assert(th->f1 != NULL);
-  struct marker_field *f = th->f1;
+  struct marker_field *f = lttv_trace_get_hook_field(th, 0);
   guint64 funcptr = ltt_event_get_long_unsigned(e, f);
 
   pop_function(s, funcptr);
@@ -2476,9 +2483,9 @@ static gboolean schedchange(void *hook_data, void *call_data)
   guint pid_in, pid_out;
   gint64 state_out;
 
-  pid_out = ltt_event_get_unsigned(e, th->f1);
-  pid_in = ltt_event_get_unsigned(e, th->f2);
-  state_out = ltt_event_get_long_int(e, th->f3);
+  pid_out = ltt_event_get_unsigned(e, lttv_trace_get_hook_field(th, 0));
+  pid_in = ltt_event_get_unsigned(e, lttv_trace_get_hook_field(th, 1));
+  state_out = ltt_event_get_long_int(e, lttv_trace_get_hook_field(th, 2));
   
   if(likely(process != NULL)) {
 
@@ -2554,17 +2561,21 @@ static gboolean process_fork(void *hook_data, void *call_data)
   LttvTraceState *ts = (LttvTraceState*)s->parent.t_context;
   LttvProcessState *process = ts->running_process[cpu];
   LttvProcessState *child_process;
+  struct marker_field *f;
 
   /* Parent PID */
-  parent_pid = ltt_event_get_unsigned(e, th->f1);
+  parent_pid = ltt_event_get_unsigned(e, lttv_trace_get_hook_field(th, 0));
 
   /* Child PID */
-  child_pid = ltt_event_get_unsigned(e, th->f2);
+  child_pid = ltt_event_get_unsigned(e, lttv_trace_get_hook_field(th, 1));
   s->parent.target_pid = child_pid;
 
   /* Child TGID */
-  if(th->f3) child_tgid = ltt_event_get_unsigned(e, th->f3);
-  else child_tgid = 0;
+  f = lttv_trace_get_hook_field(th, 2);
+  if (likely(f))
+    child_tgid = ltt_event_get_unsigned(e, f);
+  else
+    child_tgid = 0;
 
   /* Mathieu : it seems like the process might have been scheduled in before the
    * fork, and, in a rare case, might be the current process. This might happen
@@ -2627,7 +2638,7 @@ static gboolean process_kernel_thread(void *hook_data, void *call_data)
   LttvExecutionState *es;
 
   /* PID */
-  pid = (guint)ltt_event_get_long_unsigned(e, th->f1);
+  pid = (guint)ltt_event_get_long_unsigned(e, lttv_trace_get_hook_field(th, 0));
   s->parent.target_pid = pid;
 
   process = lttv_state_find_process_or_create(ts, ANY_CPU, pid,
@@ -2651,7 +2662,7 @@ static gboolean process_exit(void *hook_data, void *call_data)
   LttvTraceState *ts = (LttvTraceState*)s->parent.t_context;
   LttvProcessState *process; // = ts->running_process[cpu];
 
-  pid = ltt_event_get_unsigned(e, th->f1);
+  pid = ltt_event_get_unsigned(e, lttv_trace_get_hook_field(th, 0));
   s->parent.target_pid = pid;
 
   // FIXME : Add this test in the "known state" section
@@ -2674,7 +2685,7 @@ static gboolean process_free(void *hook_data, void *call_data)
   LttvProcessState *process;
 
   /* PID of the process to release */
-  release_pid = ltt_event_get_unsigned(e, th->f1);
+  release_pid = ltt_event_get_unsigned(e, lttv_trace_get_hook_field(th, 0));
   s->parent.target_pid = release_pid;
   
   g_assert(release_pid != 0);
@@ -2723,9 +2734,11 @@ static gboolean process_exec(void *hook_data, void *call_data)
 
 #if 0//how to use a sequence that must be transformed in a string
   /* PID of the process to release */
-  guint64 name_len = ltt_event_field_element_number(e, thf->f1);
-  //name = ltt_event_get_string(e, thf->f1);
-  LttField *child = ltt_event_field_element_select(e, thf->f1, 0);
+  guint64 name_len = ltt_event_field_element_number(e,
+    lttv_trace_get_hook_field(th, 0));
+  //name = ltt_event_get_string(e, lttv_trace_get_hook_field(th, 0));
+  LttField *child = ltt_event_field_element_select(e,
+    lttv_trace_get_hook_field(th, 0), 0);
   gchar *name_begin = 
     (gchar*)(ltt_event_data(e)+ltt_event_field_offset(e, child));
   gchar *null_term_name = g_new(gchar, name_len+1);
@@ -2734,7 +2747,8 @@ static gboolean process_exec(void *hook_data, void *call_data)
   process->name = g_quark_from_string(null_term_name);
 #endif //0
 
-  process->name = g_quark_from_string(ltt_event_get_string(e, th->f1));
+  process->name = g_quark_from_string(ltt_event_get_string(e,
+    lttv_trace_get_hook_field(th, 0)));
   process->brand = LTTV_STATE_UNBRANDED;
   //g_free(null_term_name);
   return FALSE;
@@ -2750,7 +2764,7 @@ static gboolean thread_brand(void *hook_data, void *call_data)
   guint cpu = s->cpu;
   LttvProcessState *process = ts->running_process[cpu];
 
-  name = ltt_event_get_string(e, th->f1);
+  name = ltt_event_get_string(e, lttv_trace_get_hook_field(th, 0));
   process->brand = g_quark_from_string(name);
 
   return FALSE;
@@ -2839,53 +2853,43 @@ static gboolean enum_process_state(void *hook_data, void *call_data)
   LttvTraceState *ts = (LttvTraceState*)s->parent.t_context;
   LttvProcessState *process = ts->running_process[cpu];
   LttvProcessState *parent_process;
-  struct marker_field *f4, *f5, *f6, *f7, *f8;
+  struct marker_field *f;
   GQuark type, mode, submode, status;
   LttvExecutionState *es;
   guint i, nb_cpus;
-  struct marker_info *mi;
 
   /* PID */
-  pid = ltt_event_get_unsigned(e, th->f1);
+  pid = ltt_event_get_unsigned(e, lttv_trace_get_hook_field(th, 0));
   s->parent.target_pid = pid;
   
   /* Parent PID */
-  parent_pid = ltt_event_get_unsigned(e, th->f2);
+  parent_pid = ltt_event_get_unsigned(e, lttv_trace_get_hook_field(th, 1));
 
   /* Command name */
-  command = ltt_event_get_string(e, th->f3);
+  command = ltt_event_get_string(e, lttv_trace_get_hook_field(th, 2));
 
   /* type */
-  mi = marker_get_info_from_id(ts->parent.t, e->event_id);
-  f4 = marker_get_field(mi, 3);
-  g_assert(f4->name == LTT_FIELD_TYPE);
-  type = ltt_enum_string_get(ltt_field_type(f4),
-      ltt_event_get_unsigned(e, f4));
+  f = lttv_trace_get_hook_field(th, 3);
+  type = ltt_enum_string_get(f, ltt_event_get_unsigned(e, f));
 
   /* mode */
-  f5 = marker_get_field(mi, 4);
-  g_assert(f5->name == LTT_FIELD_MODE);
-  mode = ltt_enum_string_get(ltt_field_type(f5), 
-      ltt_event_get_unsigned(e, f5));
+  f = lttv_trace_get_hook_field(th, 4);
+  mode = ltt_enum_string_get(f,ltt_event_get_unsigned(e, f));
 
   /* submode */
-  f6 = marker_get_field(mi, 5);
-  g_assert(f6->name == LTT_FIELD_SUBMODE);
-  submode = ltt_enum_string_get(ltt_field_type(f6), 
-      ltt_event_get_unsigned(e, f6));
+  f = lttv_trace_get_hook_field(th, 5);
+  submode = ltt_enum_string_get(f, ltt_event_get_unsigned(e, f));
 
   /* status */
-  f7 = marker_get_field(mi, 6);
-  g_assert(f7->name == LTT_FIELD_STATUS);
-  status = ltt_enum_string_get(ltt_field_type(f7), 
-      ltt_event_get_unsigned(e, f7));
+  f = lttv_trace_get_hook_field(th, 6);
+  status = ltt_enum_string_get(f, ltt_event_get_unsigned(e, f));
 
   /* TGID */
-  f8 = marker_get_field(mi, 7);
-  g_assert(f8->name == LTT_FIELD_TGID);
-  if(f8) tgid = ltt_event_get_unsigned(e, f8);
-  else tgid = 0;
-
+  f = lttv_trace_get_hook_field(th, 7);
+  if(f)
+    tgid = ltt_event_get_unsigned(e, f);
+  else
+    tgid = 0;
 
   if(pid == 0) {
     nb_cpus = ltt_trace_get_num_cpu(ts->parent.t);
@@ -3021,9 +3025,6 @@ void lttv_state_add_event_hooks(LttvTracesetState *self)
   
   LttvAttributeValue val;
 
-  gint ret;
-  gint hn;
-
   nb_trace = lttv_traceset_number(traceset);
   for(i = 0 ; i < nb_trace ; i++) {
     ts = (LttvTraceState *)self->parent.traces[i];
@@ -3036,114 +3037,138 @@ void lttv_state_add_event_hooks(LttvTracesetState *self)
     //hn = 0;
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL_ARCH,
         LTT_EVENT_SYSCALL_ENTRY,
         FIELD_ARRAY(LTT_FIELD_SYSCALL_ID),
        syscall_entry, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL_ARCH,
         LTT_EVENT_SYSCALL_EXIT,
         NULL,
         syscall_exit, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL_ARCH,
         LTT_EVENT_TRAP_ENTRY,
         FIELD_ARRAY(LTT_FIELD_TRAP_ID),
         trap_entry, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL_ARCH,
         LTT_EVENT_TRAP_EXIT,
         NULL,
         trap_exit, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL,
         LTT_EVENT_IRQ_ENTRY,
         FIELD_ARRAY(LTT_FIELD_IRQ_ID),
         irq_entry, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL,
         LTT_EVENT_IRQ_EXIT,
         NULL,
         irq_exit, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL,
         LTT_EVENT_SOFT_IRQ_ENTRY,
         FIELD_ARRAY(LTT_FIELD_SOFT_IRQ_ID),
         soft_irq_entry, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL,
         LTT_EVENT_SOFT_IRQ_EXIT,
         NULL,
         soft_irq_exit, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL,
         LTT_EVENT_SCHED_SCHEDULE,
         FIELD_ARRAY(LTT_FIELD_PREV_PID, LTT_FIELD_NEXT_PID,
          LTT_FIELD_PREV_STATE),
         schedchange, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL,
         LTT_EVENT_PROCESS_FORK,
         FIELD_ARRAY(LTT_FIELD_PARENT_PID, LTT_FIELD_CHILD_PID,
          LTT_FIELD_CHILD_TGID),
         process_fork, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL_ARCH,
         LTT_EVENT_KTHREAD_CREATE,
-        FIELD_ARRAY(LTT_FIELD_PID)
+        FIELD_ARRAY(LTT_FIELD_PID),
         process_kernel_thread, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL,
         LTT_EVENT_PROCESS_EXIT,
         FIELD_ARRAY(LTT_FIELD_PID),
         process_exit, NULL, &hooks);
     
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_KERNEL,
         LTT_EVENT_PROCESS_FREE,
         FIELD_ARRAY(LTT_FIELD_PID),
         process_free, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_FS,
         LTT_EVENT_EXEC,
         FIELD_ARRAY(LTT_FIELD_FILENAME),
         process_exec, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_USER_GENERIC,
         LTT_EVENT_THREAD_BRAND,
         FIELD_ARRAY(LTT_FIELD_NAME),
         thread_brand, NULL, &hooks);
 
      /* statedump-related hooks */
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_LIST,
         LTT_EVENT_PROCESS_STATE,
-        FIELD_ARRAY(LTT_FIELD_PID, LTT_FIELD_PARENT_PID, LTT_FIELD_NAME),
+        FIELD_ARRAY(LTT_FIELD_PID, LTT_FIELD_PARENT_PID, LTT_FIELD_NAME,
+         LTT_FIELD_TYPE, LTT_FIELD_MODE, LTT_FIELD_SUBMODE,
+         LTT_FIELD_STATUS, LTT_FIELD_TGID),
         enum_process_state, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_LIST,
         LTT_EVENT_STATEDUMP_END,
         NULL,
         statedump_end, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_LIST,
         LTT_EVENT_LIST_INTERRUPT,
-        FIELD_ARRAY(LTT_FIELD_ACTION, LTT_FIELD_NUM),
+        FIELD_ARRAY(LTT_FIELD_ACTION, LTT_FIELD_IRQ_ID),
         enum_interrupt, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_BLOCK,
         LTT_EVENT_REQUEST_ISSUE,
         FIELD_ARRAY(LTT_FIELD_MAJOR, LTT_FIELD_MINOR, LTT_FIELD_OPERATION),
         bdev_request_issue, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_BLOCK,
         LTT_EVENT_REQUEST_COMPLETE,
         FIELD_ARRAY(LTT_FIELD_MAJOR, LTT_FIELD_MINOR, LTT_FIELD_OPERATION),
         bdev_request_complete, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_USER_GENERIC,
         LTT_EVENT_FUNCTION_ENTRY,
         FIELD_ARRAY(LTT_FIELD_THIS_FN, LTT_FIELD_CALL_SITE),
         function_entry, NULL, &hooks);
 
     lttv_trace_find_hook(ts->parent.t,
+        LTT_FACILITY_USER_GENERIC,
         LTT_EVENT_FUNCTION_EXIT,
         FIELD_ARRAY(LTT_FIELD_THIS_FN, LTT_FIELD_CALL_SITE),
         function_exit, NULL, &hooks);
@@ -3816,8 +3841,8 @@ static void module_init()
   LTT_EVENT_TRAP_EXIT     = g_quark_from_string("trap_exit");
   LTT_EVENT_IRQ_ENTRY     = g_quark_from_string("irq_entry");
   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_SOFT_IRQ_ENTRY     = g_quark_from_string("softirq_entry");
+  LTT_EVENT_SOFT_IRQ_EXIT      = g_quark_from_string("softirq_exit");
   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");
@@ -3858,7 +3883,6 @@ static void module_init()
   LTT_FIELD_MINOR     = g_quark_from_string("minor");
   LTT_FIELD_OPERATION     = g_quark_from_string("direction");
   LTT_FIELD_ACTION        = g_quark_from_string("action");
-  LTT_FIELD_NUM           = g_quark_from_string("num");
   
   LTTV_CPU_UNKNOWN = g_quark_from_string("unknown");
   LTTV_CPU_IDLE = g_quark_from_string("idle");
This page took 0.037965 seconds and 4 git commands to generate.