X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Flttv%2Fstate.h;h=523e058b2cdd107d851f219ba0850bfb08cddc76;hb=ec7a5af61127aa50a1839eee5be99ce53494c57b;hp=07867b10ceffd1eea2052097598a59fb0b3d03e5;hpb=d34141ca6fc6dd872a922134b22095bd74ec013d;p=lttv.git diff --git a/ltt/branches/poly/lttv/lttv/state.h b/ltt/branches/poly/lttv/lttv/state.h index 07867b10..523e058b 100644 --- a/ltt/branches/poly/lttv/lttv/state.h +++ b/ltt/branches/poly/lttv/lttv/state.h @@ -61,7 +61,8 @@ extern GQuark LTT_FACILITY_FS, LTT_FACILITY_LIST, LTT_FACILITY_USER_GENERIC, - LTT_FACILITY_BLOCK; + LTT_FACILITY_BLOCK, + LTT_FACILITY_STATEDUMP; /* Events Quarks */ @@ -72,6 +73,7 @@ extern GQuark LTT_EVENT_TRAP_EXIT, LTT_EVENT_IRQ_ENTRY, LTT_EVENT_IRQ_EXIT, + LTT_EVENT_SOFT_IRQ_RAISE, LTT_EVENT_SOFT_IRQ_ENTRY, LTT_EVENT_SOFT_IRQ_EXIT, LTT_EVENT_SCHED_SCHEDULE, @@ -87,7 +89,9 @@ extern GQuark LTT_EVENT_THREAD_BRAND, LTT_EVENT_REQUEST_ISSUE, LTT_EVENT_REQUEST_COMPLETE, - LTT_EVENT_LIST_INTERRUPT; + LTT_EVENT_LIST_INTERRUPT, + LTT_EVENT_SYS_CALL_TABLE, + LTT_EVENT_SOFTIRQ_VEC; /* Fields Quarks */ @@ -114,7 +118,10 @@ extern GQuark LTT_FIELD_MINOR, LTT_FIELD_MAJOR, LTT_FIELD_OPERATION, - LTT_FIELD_ACTION; + LTT_FIELD_ACTION, + LTT_FIELD_ID, + LTT_FIELD_ADDRESS, + LTT_FIELD_SYMBOL; typedef struct _LttvTracesetState LttvTracesetState; typedef struct _LttvTracesetStateClass LttvTracesetStateClass; @@ -260,6 +267,7 @@ typedef struct _LttvProcessState { guint64 current_function; LttvProcessType type; /* kernel thread or user space ? */ guint target_pid; /* target PID of the current event. */ + guint free_events; /* 0 : none, 1 : free or exit dead, 2 : should delete */ } LttvProcessState; #define ANY_CPU 0 /* For clarity sake : a call to lttv_state_find_process for @@ -311,6 +319,7 @@ typedef struct _LttvCPUState { GArray *mode_stack; guint last_irq; guint last_soft_irq; + guint last_trap; } LttvCPUState; typedef struct _LttvIRQState { @@ -318,9 +327,14 @@ typedef struct _LttvIRQState { } LttvIRQState; typedef struct _LttvSoftIRQState { + guint pending; /* number of times it is pending */ guint running; /* number of times it is currently running (on different processors) */ } LttvSoftIRQState; +typedef struct _LttvTrapState { + guint running; /* number of times it is currently running (on different processors) */ +} LttvTrapState; + typedef struct _LttvBdevState { GArray *mode_stack; } LttvBdevState; @@ -351,6 +365,7 @@ struct _LttvTraceState { LttvCPUState *cpu_states; /* state of each cpu */ LttvIRQState *irq_states; /* state of each irq handler */ LttvSoftIRQState *soft_irq_states; /* state of each softirq */ + LttvTrapState *trap_states; /* state of each trap */ GHashTable *bdev_states; /* state of the block devices */ };