Experiences on ARM with LTTng

Richard Purdie <[email protected]> Wed, 12 Sep 2007 11:08:45 +0100
Newsgroups gmane.linux.kernel.tracing
Message-ID <[email protected]>
Hi,

I've been away from LTTng for a while but have recently been working
with LTTng on a 2.6.21 based ARM kernel. Thanks for the update you sent
in reply to Deepak's question, its useful to know where things stand.
Things are looking good with the marker infrastructure! For what its
worth I find the patch series format you're currently using quite
useful. Have you any rough ideas on the timescale for completing the
remaining invasive changes?

I ran into a couple of issues which I thought I'd mention here.

Firstly, it seems to be very easy to make LTTV segfault. Things I've
found that make it segfault include missing eventdefs directory, missing
trace files and extra junk files in extra directories (e.g.
control/orig/interrupts_0). In the latter case I had an extra file in
that location which was padded to the wrong size and I wouldn't have
expected LTTng to read it yet it did. 

Since things are probably about to change in this area would it be worth
writing a patch to add some sanity checks or not?

Secondly, some ARM systems can quickly enter sleep modes where their TSC
counter stops (since there is no CPU activity) and will do this when the
system is idle. This confuses the timeline from LTTV's perspective since
events get bunched together and traces become much shorter than they
should be. 

We can work roughly how long the system sleeps for and I have hacks at
the moment which increase the TSC counter accordingly. Such changes will
break other TSC users though and won't make mainline kernels. Is there a
way we could log this event and have LTTV account for it?

Regards,

Richard