1 =============================== 2 The Linux Kernel Tracepoint API 3 =============================== 4 5 :Author: Jason Baron 6 :Author: William Cohen 7 8 Introduction 9 ============ 10 11 Tracepoints are static probe points that are located in strategic points 12 throughout the kernel. 'Probes' register/unregister with tracepoints via 13 a callback mechanism. The 'probes' are strictly typed functions that are 14 passed a unique set of parameters defined by each tracepoint. 15 16 From this simple callback mechanism, 'probes' can be used to profile, 17 debug, and understand kernel behavior. There are a number of tools that 18 provide a framework for using 'probes'. These tools include Systemtap, 19 ftrace, and LTTng. 20 21 Tracepoints are defined in a number of header files via various macros. 22 Thus, the purpose of this document is to provide a clear accounting of 23 the available tracepoints. The intention is to understand not only what 24 tracepoints are available but also to understand where future 25 tracepoints might be added. 26 27 The API presented has functions of the form: 28 ``trace_tracepointname(function parameters)``. These are the tracepoints 29 callbacks that are found throughout the code. Registering and 30 unregistering probes with these callback sites is covered in the 31 ``Documentation/trace/*`` directory. 32 33 IRQ 34 === 35 36 .. kernel-doc:: include/trace/events/irq.h 37 :internal: 38 39 SIGNAL 40 ====== 41 42 .. kernel-doc:: include/trace/events/signal.h 43 :internal: 44 45 Block IO 46 ======== 47 48 .. kernel-doc:: include/trace/events/block.h 49 :internal: 50 51 Workqueue 52 ========= 53 54 .. kernel-doc:: include/trace/events/workqueue.h 55 :internal:
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.