X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fstate.h;h=25d5a0623477297f4ba554ed63d159630d20d51d;hb=7f58442b15c9dcfa63a1e88a666cadbbc2e7f8d9;hp=8ed648f289d1b89b34fa0ca4a7b185ffb993654d;hpb=8c108c1c55e65e15d59378e2cdc2231f35a84c4c;p=lttv.git diff --git a/lttv/lttv/state.h b/lttv/lttv/state.h index 8ed648f2..25d5a062 100644 --- a/lttv/lttv/state.h +++ b/lttv/lttv/state.h @@ -142,7 +142,9 @@ extern GQuark LTT_FIELD_ADDRESS, LTT_FIELD_SYMBOL, LTT_FIELD_IP, - LTT_FIELD_FD; + LTT_FIELD_FD, + LTT_FIELD_STATE, + LTT_FIELD_CPU_ID; typedef struct _LttvTracesetState LttvTracesetState; typedef struct _LttvTracesetStateClass LttvTracesetStateClass; @@ -361,6 +363,18 @@ typedef struct _LttvBdevState { GArray *mode_stack; } LttvBdevState; +typedef struct _LttvNameTables { + GQuark *syscall_names; + guint nb_syscalls; + GQuark *trap_names; + guint nb_traps; + GQuark *irq_names; + guint nb_irqs; + GQuark *soft_irq_names; + guint nb_soft_irqs; + GHashTable *kprobe_hash; +} LttvNameTables; + struct _LttvTraceState { LttvTraceContext parent; @@ -371,14 +385,7 @@ struct _LttvTraceState { guint nb_event, save_interval; /* Block/char devices, locks, memory pages... */ GQuark *eventtype_names; - GQuark *syscall_names; - guint nb_syscalls; - GQuark *trap_names; - guint nb_traps; - guint nb_irqs; - guint nb_soft_irqs; - GQuark *irq_names; - GQuark *soft_irq_names; + LttvNameTables *name_tables; LttTime *max_time_state_recomputed_in_seek; GHashTable *kprobe_hash; @@ -386,8 +393,11 @@ struct _LttvTraceState { LttvProcessState **running_process; gboolean has_precomputed_states; LttvCPUState *cpu_states; /* state of each cpu */ + /* FIXME should be a g_array to deal with resize and copy. */ LttvIRQState *irq_states; /* state of each irq handler */ + /* FIXME should be a g_array to deal with resize and copy. */ LttvSoftIRQState *soft_irq_states; /* state of each softirq */ + /* FIXME should be a g_array to deal with resize and copy. */ LttvTrapState *trap_states; /* state of each trap */ GHashTable *bdev_states; /* state of the block devices */ };