[lttng-dev] state tracking and missing statedump end

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri May 15 16:05:18 EDT 2015


----- Original Message -----
> Hi Mathieu,
> 
> Thanks for the info, good to know!
> 
> However, we (in Trace Compass) don't actually make use of the
> "statedump_end" event. Should we?

Yes, you should.

> 
> For now, we only use the "lttng_statedump_process_state" events in our
> state model. The information contained in these events is applied to the
> state of the involved process. This state becomes valid starting at the
> timestamp of each statedump event.
> 
> What type of information does the "lttng_statedump_end" event implies?

There is some info about the state of processes active at
trace start, or interrupt handlers active at trace start, which
could be impractical to fetch by the statedump events per se. Rather,
we use a rendez-vous which implies that a known kernel thread has been
scheduled on each CPU before we issue the statedump end event.
Having this quiescent state allows to fixup some unknown state
that might still be unknown at statedump end.

I recommend you look at lttv state.c fix_process().

Thanks,

Mathieu

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list