mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	Convert the tracepoint docbook template to RST and add it to the core-api manual. No changes to the actual text beyond the mechanical formatting conversion. Cc: Jason Baron <jbaron@redhat.com> Cc: William Cohen <wcohen@redhat.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
===============================
 | 
						|
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:
 |