Measuring Function Duration with FTrace
Sony Corporation of America
tim dot bird (at) am dot sony dot com
FTrace is a relatively new kernel tool for tracing function execution in the Linux kernel. Recently, FTrace supports the ability to trace function exit in addition to function entry. This allows for measurement of function duration, which adds an incredibly powerful tool for finding time-consuming areas of kernel execution. In this paper, the current state of the art for measuring function duration with FTrace is described. This includes recent work to add a new capability to filter the trace data by function duration, and tools for analyzing kernel function call graphs and visualizing kernel boot time execution.
Overview of FTrace operation
- ring buffer
- Measuring function duration
- hooking function exit using only mcount