Using static kernel tracing
The Linux kernel is continuously being instrumented with static probe points called tracepoints, which when disabled have a very small overhead. They allow us to record more information than the function tracer we saw in Chapter 2, The BSP Layer. Tracepoints are used by multiple tracing and profiling tools in Yocto.
This recipe will explain how to use and define static tracepoints independently of user space tools.
Getting ready
Static tracepoints can be instrumented using custom kernel modules, and also through the event tracing infrastructure. Enabling any of the tracing features in the kernel will create a /sys/kernel/debug/tracing/
directory; for example, the function tracing feature as explained in the Using the kernel function tracing system in Chapter 2, The BSP Layer.
So before continuing with this recipe, you need to configure the function tracing feature in the Linux kernel as explained before.
How to do it...
The static tracing functionality is exposed via...