| Jason Baron | a76f8c6 | 2009-04-30 13:29:42 -0400 | [diff] [blame] | 1 | <?xml version="1.0" encoding="UTF-8"?> | 
 | 2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" | 
 | 3 | 	"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []> | 
 | 4 |  | 
 | 5 | <book id="Tracepoints"> | 
 | 6 |  <bookinfo> | 
 | 7 |   <title>The Linux Kernel Tracepoint API</title> | 
 | 8 |  | 
 | 9 |   <authorgroup> | 
 | 10 |    <author> | 
 | 11 |     <firstname>Jason</firstname> | 
 | 12 |     <surname>Baron</surname> | 
 | 13 |     <affiliation> | 
 | 14 |      <address> | 
 | 15 |       <email>jbaron@redhat.com</email> | 
 | 16 |      </address> | 
 | 17 |     </affiliation> | 
 | 18 |    </author> | 
 | 19 |   </authorgroup> | 
 | 20 |  | 
 | 21 |   <legalnotice> | 
 | 22 |    <para> | 
 | 23 |      This documentation is free software; you can redistribute | 
 | 24 |      it and/or modify it under the terms of the GNU General Public | 
 | 25 |      License as published by the Free Software Foundation; either | 
 | 26 |      version 2 of the License, or (at your option) any later | 
 | 27 |      version. | 
 | 28 |    </para> | 
 | 29 |  | 
 | 30 |    <para> | 
 | 31 |      This program is distributed in the hope that it will be | 
 | 32 |      useful, but WITHOUT ANY WARRANTY; without even the implied | 
 | 33 |      warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
 | 34 |      See the GNU General Public License for more details. | 
 | 35 |    </para> | 
 | 36 |  | 
 | 37 |    <para> | 
 | 38 |      You should have received a copy of the GNU General Public | 
 | 39 |      License along with this program; if not, write to the Free | 
 | 40 |      Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 
 | 41 |      MA 02111-1307 USA | 
 | 42 |    </para> | 
 | 43 |  | 
 | 44 |    <para> | 
 | 45 |      For more details see the file COPYING in the source | 
 | 46 |      distribution of Linux. | 
 | 47 |    </para> | 
 | 48 |   </legalnotice> | 
 | 49 |  </bookinfo> | 
 | 50 |  | 
 | 51 |  <toc></toc> | 
 | 52 |   <chapter id="intro"> | 
 | 53 |    <title>Introduction</title> | 
 | 54 |    <para> | 
 | 55 |      Tracepoints are static probe points that are located in strategic points | 
 | 56 |      throughout the kernel. 'Probes' register/unregister with tracepoints | 
 | 57 |      via a callback mechanism. The 'probes' are strictly typed functions that | 
 | 58 |      are passed a unique set of parameters defined by each tracepoint. | 
 | 59 |    </para> | 
 | 60 |  | 
 | 61 |    <para> | 
 | 62 |      From this simple callback mechanism, 'probes' can be used to profile, debug, | 
 | 63 |      and understand kernel behavior. There are a number of tools that provide a | 
 | 64 |      framework for using 'probes'. These tools include Systemtap, ftrace, and | 
 | 65 |      LTTng. | 
 | 66 |    </para> | 
 | 67 |  | 
 | 68 |    <para> | 
 | 69 |      Tracepoints are defined in a number of header files via various macros. Thus, | 
 | 70 |      the purpose of this document is to provide a clear accounting of the available | 
 | 71 |      tracepoints. The intention is to understand not only what tracepoints are | 
 | 72 |      available but also to understand where future tracepoints might be added. | 
 | 73 |    </para> | 
 | 74 |  | 
 | 75 |    <para> | 
 | 76 |      The API presented has functions of the form: | 
 | 77 |      <function>trace_tracepointname(function parameters)</function>. These are the | 
 | 78 |      tracepoints callbacks that are found throughout the code. Registering and | 
 | 79 |      unregistering probes with these callback sites is covered in the | 
 | 80 |      <filename>Documentation/trace/*</filename> directory. | 
 | 81 |    </para> | 
 | 82 |   </chapter> | 
 | 83 |  | 
| Jason Baron | 9ee1983 | 2009-04-30 13:29:47 -0400 | [diff] [blame] | 84 |   <chapter id="irq"> | 
 | 85 |    <title>IRQ</title> | 
 | 86 | !Iinclude/trace/events/irq.h | 
 | 87 |   </chapter> | 
 | 88 |  | 
| Jason Baron | a76f8c6 | 2009-04-30 13:29:42 -0400 | [diff] [blame] | 89 | </book> |