Kernel trace using Lttng

I already played with linux trace tools (Lttng, http://lttng.org/ ). I am currently interpreting tracing using Eclipse with the Lttng plugin. Although with this tool I could get logs related to system calls, context switches, I could not find a way to track a specific event occurring in a specific place, say, an interrupt caused by peripherals. I also tried my hand at KProbes for dynamic tracking, but in vain. Any suggestions / recommendations would be helpful and highly appreciated.

+4
source share
1 answer

If you know which function you want to use, I recommend that you try the "--function" lttng option to enter a specific input / output function. "--probe" allows you to set a breakpoint at a specific character and offset, or at a specific address. See the lttng (1) man page for more details.

Another way to achieve your goal is to use trace points designed for IRQ input. You can list kernel breakpoints using the -k lttng list, and then enable specific irq entry breakpoints. Then you will need to use, for example, grep to find the corresponding IRQ numbers that you are looking for in your route. Starting with lttng 2.1, the grep approach is the only approach that allows you to filter the contents of an event (the contents of a field). In the near future, we plan to transfer the filter byte code interpreter from LTTng User Space Tracer (UST) to the tracer ltrng core (lttng-modules).

Best wishes,

Mathieu

+3
source

All Articles