1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>The Linux Kernel Tracepoint API</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The Linux Kernel Tracepoint API"><link rel="next" href="intro.html" title="Chapter&#160;1.&#160;Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The Linux Kernel Tracepoint API</th></tr><tr><td width="20%" align="left">&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="intro.html">Next</a></td></tr></table><hr></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a name="Tracepoints"></a>The Linux Kernel Tracepoint API</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">Jason</span> <span class="surname">Baron</span></h3><div class="affiliation"><div class="address"><p><br>
2&#160;&#160;&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:jbaron@redhat.com">jbaron@redhat.com</a>&gt;</code><br>
3&#160;&#160;&#160;&#160;&#160;</p></div></div></div><div class="author"><h3 class="author"><span class="firstname">William</span> <span class="surname">Cohen</span></h3><div class="affiliation"><div class="address"><p><br>
4&#160;&#160;&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:wcohen@redhat.com">wcohen@redhat.com</a>&gt;</code><br>
5&#160;&#160;&#160;&#160;&#160;</p></div></div></div></div></div><div><div class="legalnotice"><a name="idp1119786724"></a><p>
6     This documentation is free software; you can redistribute
7     it and/or modify it under the terms of the GNU General Public
8     License as published by the Free Software Foundation; either
9     version 2 of the License, or (at your option) any later
10     version.
11   </p><p>
12     This program is distributed in the hope that it will be
13     useful, but WITHOUT ANY WARRANTY; without even the implied
14     warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15     See the GNU General Public License for more details.
16   </p><p>
17     You should have received a copy of the GNU General Public
18     License along with this program; if not, write to the Free
19     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20     MA 02111-1307 USA
21   </p><p>
22     For more details see the file COPYING in the source
23     distribution of Linux.
24   </p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="intro.html">1. Introduction</a></span></dt><dt><span class="chapter"><a href="irq.html">2. IRQ</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-trace-irq-handler-entry.html"><span class="phrase">trace_irq_handler_entry</span></a></span><span class="refpurpose"> &#8212; 
25  called immediately before the irq action handler
26 </span></dt><dt><span class="refentrytitle"><a href="API-trace-irq-handler-exit.html"><span class="phrase">trace_irq_handler_exit</span></a></span><span class="refpurpose"> &#8212; 
27     called immediately after the irq action handler returns
28 </span></dt><dt><span class="refentrytitle"><a href="API-trace-softirq-entry.html"><span class="phrase">trace_softirq_entry</span></a></span><span class="refpurpose"> &#8212; 
29     called immediately before the softirq handler
30 </span></dt><dt><span class="refentrytitle"><a href="API-trace-softirq-exit.html"><span class="phrase">trace_softirq_exit</span></a></span><span class="refpurpose"> &#8212; 
31     called immediately after the softirq handler returns
32 </span></dt><dt><span class="refentrytitle"><a href="API-trace-softirq-raise.html"><span class="phrase">trace_softirq_raise</span></a></span><span class="refpurpose"> &#8212; 
33     called immediately when a softirq is raised
34 </span></dt></dl></dd><dt><span class="chapter"><a href="signal.html">3. SIGNAL</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-trace-signal-generate.html"><span class="phrase">trace_signal_generate</span></a></span><span class="refpurpose"> &#8212; 
35  called when a signal is generated
36 </span></dt><dt><span class="refentrytitle"><a href="API-trace-signal-deliver.html"><span class="phrase">trace_signal_deliver</span></a></span><span class="refpurpose"> &#8212; 
37     called when a signal is delivered
38 </span></dt></dl></dd><dt><span class="chapter"><a href="block.html">4. Block IO</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-trace-block-touch-buffer.html"><span class="phrase">trace_block_touch_buffer</span></a></span><span class="refpurpose"> &#8212; 
39  mark a buffer accessed
40 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-dirty-buffer.html"><span class="phrase">trace_block_dirty_buffer</span></a></span><span class="refpurpose"> &#8212; 
41     mark a buffer dirty
42 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-rq-abort.html"><span class="phrase">trace_block_rq_abort</span></a></span><span class="refpurpose"> &#8212; 
43     abort block operation request
44 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-rq-requeue.html"><span class="phrase">trace_block_rq_requeue</span></a></span><span class="refpurpose"> &#8212; 
45     place block IO request back on a queue
46 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-rq-complete.html"><span class="phrase">trace_block_rq_complete</span></a></span><span class="refpurpose"> &#8212; 
47     block IO operation completed by device driver
48 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-rq-insert.html"><span class="phrase">trace_block_rq_insert</span></a></span><span class="refpurpose"> &#8212; 
49     insert block operation request into queue
50 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-rq-issue.html"><span class="phrase">trace_block_rq_issue</span></a></span><span class="refpurpose"> &#8212; 
51     issue pending block IO request operation to device driver
52 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-bio-bounce.html"><span class="phrase">trace_block_bio_bounce</span></a></span><span class="refpurpose"> &#8212; 
53     used bounce buffer when processing block operation
54 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-bio-complete.html"><span class="phrase">trace_block_bio_complete</span></a></span><span class="refpurpose"> &#8212; 
55     completed all work on the block operation
56 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-bio-backmerge.html"><span class="phrase">trace_block_bio_backmerge</span></a></span><span class="refpurpose"> &#8212; 
57     merging block operation to the end of an existing operation
58 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-bio-frontmerge.html"><span class="phrase">trace_block_bio_frontmerge</span></a></span><span class="refpurpose"> &#8212; 
59     merging block operation to the beginning of an existing operation
60 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-bio-queue.html"><span class="phrase">trace_block_bio_queue</span></a></span><span class="refpurpose"> &#8212; 
61     putting new block IO operation in queue
62 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-getrq.html"><span class="phrase">trace_block_getrq</span></a></span><span class="refpurpose"> &#8212; 
63     get a free request entry in queue for block IO operations
64 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-sleeprq.html"><span class="phrase">trace_block_sleeprq</span></a></span><span class="refpurpose"> &#8212; 
65     waiting to get a free request entry in queue for block IO operation
66 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-plug.html"><span class="phrase">trace_block_plug</span></a></span><span class="refpurpose"> &#8212; 
67     keep operations requests in request queue
68 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-unplug.html"><span class="phrase">trace_block_unplug</span></a></span><span class="refpurpose"> &#8212; 
69     release of operations requests in request queue
70 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-split.html"><span class="phrase">trace_block_split</span></a></span><span class="refpurpose"> &#8212; 
71     split a single bio struct into two bio structs
72 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-bio-remap.html"><span class="phrase">trace_block_bio_remap</span></a></span><span class="refpurpose"> &#8212; 
73     map request for a logical device to the raw device
74 </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-rq-remap.html"><span class="phrase">trace_block_rq_remap</span></a></span><span class="refpurpose"> &#8212; 
75     map request for a block operation request
76 </span></dt></dl></dd><dt><span class="chapter"><a href="workqueue.html">5. Workqueue</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-trace-workqueue-queue-work.html"><span class="phrase">trace_workqueue_queue_work</span></a></span><span class="refpurpose"> &#8212; 
77  called when a work gets queued
78 </span></dt><dt><span class="refentrytitle"><a href="API-trace-workqueue-activate-work.html"><span class="phrase">trace_workqueue_activate_work</span></a></span><span class="refpurpose"> &#8212; 
79     called when a work gets activated
80 </span></dt><dt><span class="refentrytitle"><a href="API-trace-workqueue-execute-start.html"><span class="phrase">trace_workqueue_execute_start</span></a></span><span class="refpurpose"> &#8212; 
81     called immediately before the workqueue callback
82 </span></dt><dt><span class="refentrytitle"><a href="API-trace-workqueue-execute-end.html"><span class="phrase">trace_workqueue_execute_end</span></a></span><span class="refpurpose"> &#8212; 
83     called immediately after the workqueue callback
84 </span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right" valign="top">&#160;Chapter&#160;1.&#160;Introduction</td></tr></table></div></body></html>
85