<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><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.76.1" /><link rel="home" href="index.html" title="The Linux Kernel Tracepoint API" /><link rel="next" href="intro.html" title="Chapter 1. Introduction" /></head><body><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"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr></table><hr /></div><div class="book" title="The Linux Kernel Tracepoint API"><div class="titlepage"><div><div><h1 class="title"><a id="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 />       <code class="email"><<a class="email" href="mailto:jbaron@redhat.com">jbaron@redhat.com</a>></code><br />      </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 />       <code class="email"><<a class="email" href="mailto:wcohen@redhat.com">wcohen@redhat.com</a>></code><br />      </p></div></div></div></div></div><div><div class="legalnotice" title="Legal Notice"><a id="id2803403"></a><p> This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. </p><p> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. </p><p> You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA </p><p> For more details see the file COPYING in the source distribution of Linux. </p></div></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><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>trace_irq_handler_entry</span></a></span><span class="refpurpose"> — called immediately before the irq action handler </span></dt><dt><span class="refentrytitle"><a href="API-trace-irq-handler-exit.html"><span>trace_irq_handler_exit</span></a></span><span class="refpurpose"> — called immediately after the irq action handler returns </span></dt><dt><span class="refentrytitle"><a href="API-trace-softirq-entry.html"><span>trace_softirq_entry</span></a></span><span class="refpurpose"> — called immediately before the softirq handler </span></dt><dt><span class="refentrytitle"><a href="API-trace-softirq-exit.html"><span>trace_softirq_exit</span></a></span><span class="refpurpose"> — called immediately after the softirq handler returns </span></dt><dt><span class="refentrytitle"><a href="API-trace-softirq-raise.html"><span>trace_softirq_raise</span></a></span><span class="refpurpose"> — called immediately when a softirq is raised </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>trace_signal_generate</span></a></span><span class="refpurpose"> — called when a signal is generated </span></dt><dt><span class="refentrytitle"><a href="API-trace-signal-deliver.html"><span>trace_signal_deliver</span></a></span><span class="refpurpose"> — called when a signal is delivered </span></dt><dt><span class="refentrytitle"><a href="API-trace-signal-overflow-fail.html"><span>trace_signal_overflow_fail</span></a></span><span class="refpurpose"> — called when signal queue is overflow </span></dt><dt><span class="refentrytitle"><a href="API-trace-signal-lose-info.html"><span>trace_signal_lose_info</span></a></span><span class="refpurpose"> — called when siginfo is lost </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-rq-abort.html"><span>trace_block_rq_abort</span></a></span><span class="refpurpose"> — abort block operation request </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-rq-requeue.html"><span>trace_block_rq_requeue</span></a></span><span class="refpurpose"> — place block IO request back on a queue </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-rq-complete.html"><span>trace_block_rq_complete</span></a></span><span class="refpurpose"> — block IO operation completed by device driver </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-rq-insert.html"><span>trace_block_rq_insert</span></a></span><span class="refpurpose"> — insert block operation request into queue </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-rq-issue.html"><span>trace_block_rq_issue</span></a></span><span class="refpurpose"> — issue pending block IO request operation to device driver </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-bio-bounce.html"><span>trace_block_bio_bounce</span></a></span><span class="refpurpose"> — used bounce buffer when processing block operation </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-bio-complete.html"><span>trace_block_bio_complete</span></a></span><span class="refpurpose"> — completed all work on the block operation </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-bio-backmerge.html"><span>trace_block_bio_backmerge</span></a></span><span class="refpurpose"> — merging block operation to the end of an existing operation </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-bio-frontmerge.html"><span>trace_block_bio_frontmerge</span></a></span><span class="refpurpose"> — merging block operation to the beginning of an existing operation </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-bio-queue.html"><span>trace_block_bio_queue</span></a></span><span class="refpurpose"> — putting new block IO operation in queue </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-getrq.html"><span>trace_block_getrq</span></a></span><span class="refpurpose"> — get a free request entry in queue for block IO operations </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-sleeprq.html"><span>trace_block_sleeprq</span></a></span><span class="refpurpose"> — waiting to get a free request entry in queue for block IO operation </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-plug.html"><span>trace_block_plug</span></a></span><span class="refpurpose"> — keep operations requests in request queue </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-unplug-timer.html"><span>trace_block_unplug_timer</span></a></span><span class="refpurpose"> — timed release of operations requests in queue to device driver </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-unplug-io.html"><span>trace_block_unplug_io</span></a></span><span class="refpurpose"> — release of operations requests in request queue </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-split.html"><span>trace_block_split</span></a></span><span class="refpurpose"> — split a single bio struct into two bio structs </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-bio-remap.html"><span>trace_block_bio_remap</span></a></span><span class="refpurpose"> — map request for a logical device to the raw device </span></dt><dt><span class="refentrytitle"><a href="API-trace-block-rq-remap.html"><span>trace_block_rq_remap</span></a></span><span class="refpurpose"> — map request for a block operation request </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>trace_workqueue_queue_work</span></a></span><span class="refpurpose"> — called when a work gets queued </span></dt><dt><span class="refentrytitle"><a href="API-trace-workqueue-activate-work.html"><span>trace_workqueue_activate_work</span></a></span><span class="refpurpose"> — called when a work gets activated </span></dt><dt><span class="refentrytitle"><a href="API-trace-workqueue-execute-start.html"><span>trace_workqueue_execute_start</span></a></span><span class="refpurpose"> — called immediately before the workqueue callback </span></dt><dt><span class="refentrytitle"><a href="API-trace-workqueue-execute-end.html"><span>trace_workqueue_execute_end</span></a></span><span class="refpurpose"> — called immediately before the workqueue callback </span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. Introduction</td></tr></table></div></body></html>