Book Image

Embedded Linux Projects Using Yocto Project Cookbook

By : Alex Gonzalez
Book Image

Embedded Linux Projects Using Yocto Project Cookbook

By: Alex Gonzalez

Overview of this book

Table of Contents (13 chapters)
Embedded Linux Projects Using Yocto Project Cookbook
Credits
Foreword
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using the kernel function tracing system


Recent versions of the Linux kernel contain a set of tracers that, by instrumenting the kernel, allow you to analyze different areas like:

  • Interrupt latency

  • Preemption latency

  • Scheduling latency

  • Process context switches

  • Event tracing

  • Syscalls

  • Maximum stack

  • Block layer

  • Functions

The tracers have no performance overhead when not enabled.

Getting ready...

The tracing system can be used in a wide variety of debugging scenarios, but one of the most common tracers used is the function tracer. It instruments every kernel function with a NOP call that is replaced and used to trace the kernel functions when a trace point is enabled.

To enable the function tracer in the kernel, use the CONFIG_FUNCTION_TRACER and CONFIG_FUNCTION_GRAPH_TRACER configuration variables.

The kernel tracing system is controlled via a tracing file in the debug filesystem, which is mounted by default on Yocto's default images. If not, you can mount it with:

$ mount -t debugfs nodev /sys/kernel/debug...