12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- ===============================
- The Linux Kernel Tracepoint API
- ===============================
- :Author: Jason Baron
- :Author: William Cohen
- Introduction
- ============
- Tracepoints are static probe points that are located in strategic points
- throughout the kernel. 'Probes' register/unregister with tracepoints via
- a callback mechanism. The 'probes' are strictly typed functions that are
- passed a unique set of parameters defined by each tracepoint.
- From this simple callback mechanism, 'probes' can be used to profile,
- debug, and understand kernel behavior. There are a number of tools that
- provide a framework for using 'probes'. These tools include Systemtap,
- ftrace, and LTTng.
- Tracepoints are defined in a number of header files via various macros.
- Thus, the purpose of this document is to provide a clear accounting of
- the available tracepoints. The intention is to understand not only what
- tracepoints are available but also to understand where future
- tracepoints might be added.
- The API presented has functions of the form:
- ``trace_tracepointname(function parameters)``. These are the tracepoints
- callbacks that are found throughout the code. Registering and
- unregistering probes with these callback sites is covered in the
- ``Documentation/trace/*`` directory.
- IRQ
- ===
- .. kernel-doc:: include/trace/events/irq.h
- :internal:
- SIGNAL
- ======
- .. kernel-doc:: include/trace/events/signal.h
- :internal:
- Block IO
- ========
- .. kernel-doc:: include/trace/events/block.h
- :internal:
- Workqueue
- =========
- .. kernel-doc:: include/trace/events/workqueue.h
- :internal:
|