LTTng on ARM - timestamps
Richard Purdie <[email protected]> Thu, 26 Jul 2007 17:21:54 +0100
| Newsgroups | gmane.linux.kernel.tracing |
|---|---|
| Message-ID | <[email protected]> |
Hi, I've been testing LTTng 0.9.5 on an ARM 2.6.21 kernel and have noticed a lot of lost events. It turns out that there is instrumentation in do_timer() in kernel/timer.c which requires the xtime_lock write seqlock to be held. The default ARM timer implementation uses jiffies which is read using the same xtime_lock() and hence always fails for this event (and possibly others if there is more instrumentation in xtime_lock paths). Basically this means LTTng is broken on ARM (and anything else using jiffies based timer implementations for their timestamps). The best solution I can see is to add a finer grained seqlock only held with jiffies is changed and to use this in the timestamps for systems without a TSC. Is this problem known about and is there any alternative? Also, I'm not sure assuming that a timestamp of zero is an error condition is a good idea since that could occur in normal operation? Regards, Richard