doc: Sphinxify the tracepoint docbook
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>
This commit is contained in:
Родитель
8da3dc5334
Коммит
d6ba7a9c8b
|
@ -12,8 +12,7 @@ DOCBOOKS := z8530book.xml \
|
||||||
kernel-api.xml filesystems.xml lsm.xml kgdb.xml \
|
kernel-api.xml filesystems.xml lsm.xml kgdb.xml \
|
||||||
gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
|
gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
|
||||||
genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \
|
genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \
|
||||||
80211.xml sh.xml regulator.xml \
|
80211.xml sh.xml regulator.xml w1.xml \
|
||||||
tracepoint.xml w1.xml \
|
|
||||||
writing_musb_glue_layer.xml crypto-API.xml iio.xml
|
writing_musb_glue_layer.xml crypto-API.xml iio.xml
|
||||||
|
|
||||||
ifeq ($(DOCBOOKS),)
|
ifeq ($(DOCBOOKS),)
|
||||||
|
|
|
@ -1,112 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
|
||||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
|
|
||||||
|
|
||||||
<book id="Tracepoints">
|
|
||||||
<bookinfo>
|
|
||||||
<title>The Linux Kernel Tracepoint API</title>
|
|
||||||
|
|
||||||
<authorgroup>
|
|
||||||
<author>
|
|
||||||
<firstname>Jason</firstname>
|
|
||||||
<surname>Baron</surname>
|
|
||||||
<affiliation>
|
|
||||||
<address>
|
|
||||||
<email>jbaron@redhat.com</email>
|
|
||||||
</address>
|
|
||||||
</affiliation>
|
|
||||||
</author>
|
|
||||||
<author>
|
|
||||||
<firstname>William</firstname>
|
|
||||||
<surname>Cohen</surname>
|
|
||||||
<affiliation>
|
|
||||||
<address>
|
|
||||||
<email>wcohen@redhat.com</email>
|
|
||||||
</address>
|
|
||||||
</affiliation>
|
|
||||||
</author>
|
|
||||||
</authorgroup>
|
|
||||||
|
|
||||||
<legalnotice>
|
|
||||||
<para>
|
|
||||||
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.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
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.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
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
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
For more details see the file COPYING in the source
|
|
||||||
distribution of Linux.
|
|
||||||
</para>
|
|
||||||
</legalnotice>
|
|
||||||
</bookinfo>
|
|
||||||
|
|
||||||
<toc></toc>
|
|
||||||
<chapter id="intro">
|
|
||||||
<title>Introduction</title>
|
|
||||||
<para>
|
|
||||||
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.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
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.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
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.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The API presented has functions of the form:
|
|
||||||
<function>trace_tracepointname(function parameters)</function>. These are the
|
|
||||||
tracepoints callbacks that are found throughout the code. Registering and
|
|
||||||
unregistering probes with these callback sites is covered in the
|
|
||||||
<filename>Documentation/trace/*</filename> directory.
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="irq">
|
|
||||||
<title>IRQ</title>
|
|
||||||
!Iinclude/trace/events/irq.h
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="signal">
|
|
||||||
<title>SIGNAL</title>
|
|
||||||
!Iinclude/trace/events/signal.h
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="block">
|
|
||||||
<title>Block IO</title>
|
|
||||||
!Iinclude/trace/events/block.h
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="workqueue">
|
|
||||||
<title>Workqueue</title>
|
|
||||||
!Iinclude/trace/events/workqueue.h
|
|
||||||
</chapter>
|
|
||||||
</book>
|
|
|
@ -19,7 +19,8 @@ Interfaces for kernel debugging
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
debug-objects
|
debug-objects
|
||||||
|
tracepoint
|
||||||
|
|
||||||
.. only:: subproject
|
.. only:: subproject
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
===============================
|
||||||
|
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:
|
Загрузка…
Ссылка в новой задаче