summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.in20
-rw-r--r--doc/SystemTap_Beginners_Guide/en-US/Book_Info.xml2
-rw-r--r--doc/SystemTap_Beginners_Guide/en-US/Installation.xml145
-rw-r--r--doc/SystemTap_Beginners_Guide/en-US/Legal_Notice.xml30
-rw-r--r--doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-timeout.xml23
-rw-r--r--doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-topsys.xml131
-rw-r--r--doc/SystemTap_Beginners_Guide/en-US/Useful_SystemTap_Scripts.xml1
-rw-r--r--doc/SystemTap_Tapset_Reference/Makefile.in22
8 files changed, 258 insertions, 116 deletions
diff --git a/doc/Makefile.in b/doc/Makefile.in
index a256be42..eb9f2877 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -104,7 +104,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PIECFLAGS = @PIECFLAGS@
PIECXXFLAGS = @PIECXXFLAGS@
PIELDFLAGS = @PIELDFLAGS@
-PKG_CONFIG = @PKG_CONFIG@
PROCFLAGS = @PROCFLAGS@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
@@ -149,9 +148,7 @@ localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nspr_CFLAGS = @nspr_CFLAGS@
-nspr_LIBS = @nspr_LIBS@
nss_CFLAGS = @nss_CFLAGS@
-nss_LIBS = @nss_LIBS@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
@@ -281,8 +278,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -307,8 +304,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -318,13 +315,12 @@ ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
diff --git a/doc/SystemTap_Beginners_Guide/en-US/Book_Info.xml b/doc/SystemTap_Beginners_Guide/en-US/Book_Info.xml
index b8eba008..07c3f74d 100644
--- a/doc/SystemTap_Beginners_Guide/en-US/Book_Info.xml
+++ b/doc/SystemTap_Beginners_Guide/en-US/Book_Info.xml
@@ -27,7 +27,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/doc/SystemTap_Beginners_Guide/en-US/Installation.xml b/doc/SystemTap_Beginners_Guide/en-US/Installation.xml
index 3a45d269..d0ce1f26 100644
--- a/doc/SystemTap_Beginners_Guide/en-US/Installation.xml
+++ b/doc/SystemTap_Beginners_Guide/en-US/Installation.xml
@@ -70,7 +70,7 @@
<listitem><para><filename>systemtap-runtime</filename></para></listitem>
</itemizedlist>
- <para>Assuming that your system is configured to use Red Hat Network (RHN) or <command>yum</command> is available, these two rpms can be installed with <command>yum install systemtap systemtap-runtime</command>. Note that before you can use SystemTap, you will still need to install the required kernel information RPMs.
+ <para>Assuming that <command>yum</command> is installed in the system, these two rpms can be installed with <command>yum install systemtap systemtap-runtime</command>. Note that before you can use SystemTap, you will still need to install the required kernel information RPMs.
</para>
</section>
@@ -99,9 +99,12 @@
<indexterm>
<primary>kernel information packages</primary>
</indexterm>
- <para> SystemTap needs information about the kernel in order to place instrumentation in it (i.e. probe it). This information also allows SystemTap to generate the code for the instrumentation. This information is contained in the matching <filename>-devel</filename> and <filename>-debuginfo</filename> packages for your kernel. The necessary <filename>-devel</filename> and
- <filename>-debuginfo</filename> packages for the ordinary "vanilla" kernel
- are as follows:
+ <para>
+ SystemTap needs information about the kernel in order to place instrumentation in it (i.e. probe it). This
+ information also allows SystemTap to generate the code for the instrumentation. This information is contained
+ in the matching <filename>-devel</filename>, <filename>-debuginfo</filename>, and <filename>-debuginfo-common</filename>
+ packages for your kernel. The necessary <filename>-devel</filename> and <filename>-debuginfo</filename> packages for the ordinary
+ "vanilla" kernel are as follows:
</para>
<itemizedlist>
@@ -137,7 +140,9 @@
uname -r
</screen>
- <para>For example, if you wish to use SystemTap on kernel version <filename>2.6.18-53.el5</filename> on an i686 machine, then you would need to download and install the following RPMs:
+ <para>
+ For example, if you wish to use SystemTap on kernel version <filename>2.6.18-53.el5</filename> on an i686 machine, then you would
+ need to download and install the following RPMs:
</para>
<itemizedlist>
@@ -146,92 +151,75 @@ uname -r
<listitem><para><filename>kernel-devel-2.6.18-53.1.13.el5.i686.rpm</filename></para></listitem>
</itemizedlist>
- <important>
+ <important>
<title>Important</title>
<para>
- The version, variant, and architecture of the <filename>-devel</filename>, <filename>-debuginfo</filename> and <filename>-debuginfo-common</filename> packages must match the kernel you wish to probe with SystemTap <emphasis>exactly</emphasis>.
+ The version, variant, and architecture of the <filename>-devel</filename>, <filename>-debuginfo</filename> and
+ <filename>-debuginfo-common</filename> packages must match the kernel you wish to probe with SystemTap <emphasis>exactly</emphasis>.
</para>
</important>
+
+
+ <para>
+ The easiest way to install the required kernel information packages is through <command>yum install</command>
+ and <command>debuginfo-install</command>. <command>debuginfo-install</command> is included with later versions of the
+ <filename>yum-utils</filename> package (for example, version 1.1.10), and also requires an appropriate <command>yum</command>
+ repository from which to download and install <command>-debuginfo</command>/<filename>-debuginfo-common</filename> packages.
+ </para>
+
+ <para condition="fedora">
+ Most of the required kernel packages can be found at
+ <ulink url="http://download.fedoraproject.org/pub/fedora/linux/releases/"/>. Configure
+ <command>yum</command> accordingly by adding a new "debug" <command>yum</command> repository file
+ under <filename>/etc/yum.repos.d</filename> containing the following lines:
+ </para>
+
+<programlisting condition="fedora">
+[fedora-debuginfo]
+name=Fedora $releasever - $basearch - Debug
+failovermethod=priority
+baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
+enabled=1
+</programlisting>
+
+
+ <para condition="RedHat">
+ Most required kernel packages can be found at
+ <ulink url="ftp://ftp.redhat.com/pub/redhat/linux/enterprise/"/>; navigate there until you find the
+ appropriate <filename>Debuginfo</filename> directory for your system. Configure
+ <command>yum</command> accordingly by adding a new "debug" <command>yum</command> repository file under
+ <filename>/etc/yum.repos.d</filename> containing the following lines:
+ </para>
+<programlisting condition="RedHat">
+[rhel-debuginfo]
+name=Red Hat Enterprise Linux $releasever - $basearch - Debug
+baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/
+enabled=1
+</programlisting>
<para>
- To help ease your deployment of SystemTap, you can use <xref linkend="stapprep"/>.
- <xref linkend="stapprep"/> determines the kernel information packages you need to install in order
- to run SystemTap. If you run <xref linkend="stapprep"/> (as an ordinary, non-root user) without
- any arguments, it will display the kernel information packages required for the
- <emphasis>loaded</emphasis> kernel. You can also pass a specific kernel version to
- <xref linkend="stapprep"/> (e.g. <computeroutput>2.6.18-92.el5</computeroutput>) if you wish
- to probe a kernel that is not currently loaded.
+ After configuring <command>yum</command> with the appropriate repository, you can now install
+ the required <filename>-devel</filename>, <filename>-debuginfo</filename>, and <filename>-debuginfo-common</filename>
+ packages for your kernel. To install the corresponding packages for a specific kernel, run the following commands:
</para>
-<indexterm>
- <primary>Installation</primary>
- <secondary>stapprep.sh</secondary>
-</indexterm>
-<indexterm>
- <primary>stapprep.sh</primary>
-</indexterm>
+<itemizedlist>
+<listitem><para><command>yum install <replaceable>kernelname</replaceable>-devel-<replaceable>version</replaceable></command></para></listitem>
+<listitem><para><command>debuginfo-install <replaceable>kernelname</replaceable>-<replaceable>version</replaceable></command></para></listitem>
+</itemizedlist>
-
-<!-- next 2 indexterms for installation script -->
-
-<indexterm>
- <primary>Installation</primary>
- <secondary>installation script</secondary>
-</indexterm>
-
-<indexterm>
- <primary>installation script</primary>
-</indexterm>
-<note>
- <title>Note</title>
- <para>Running <xref linkend="stapprep"/> as root will display the required kernel packages <emphasis>and</emphasis> install them as well, provided that <command>yum</command> and <command>yum-utils</command> are configured properly.</para>
-
-<para condition="RedHat">
- In order for <command>yum</command> to find and download the required kernel packages, you need to
- point it to a repository containing those packages. Most required kernel packages can be found at
- <ulink url="ftp://ftp.redhat.com/pub/redhat/linux/enterprise/"/>; navigate there until you find the
- appropriate <filename>Debuginfo</filename> directory for your system. Configure
- <command>yum</command> accordingly by adding a new "debug" <command>yum</command> repository file under <filename>/etc/yum.repos.d</filename> containing the following lines:
-</para>
-
-<programlisting condition="RedHat">
-[rhel-debuginfo]
-name=Red Hat Enterprise Linux $releasever - $basearch - Debug
-baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/
-enabled=1
-</programlisting>
-</note>
-<!-- Running <xref linkend="stapprep"/> without any arguments will display and install the required kernel information packages for the currently loaded kernel. If you wish to probe a kernel other than the one currently loaded, you can pass a specific kernel version as an argument to <xref linkend="stapprep"/>; the script will then install that kernel's corresponding kernel information packages.
-</para> -->
-
-<!--
<para>
- To determine what kernel information RPMs you need to install in order to run SystemTap, run the <xref linkend="stapprep"/>. Running <xref linkend="stapprep"/> without any arguments will display what packages you
-
-
-
- <para> The script <xref linkend="stapprep"/> can be used by normal users to determine what supporting kernel RPMs need to be installed on the machine to use SystemTap with a particular kernel. The script run without any arguments detemines the RPMs needed for the currently running kernel. The script can also accept one argument, the output <command>uname -r</command>, to determine the related RPMs required for a kernel that may not be currently running on the machine.
- </para>-->
-<indexterm>
-<primary>script for installing kernel information packages</primary>
-</indexterm>
-<formalpara id="stapprep">
-<title>stapprep.sh</title>
-<para>
-<programlisting>
-<xi:include parse="text" href="extras/stapprep.sh" xmlns:xi="http://www.w3.org/2001/XInclude" />
-</programlisting>
+ Replace <command><replaceable>kernelname</replaceable></command> with the appropriate kernel variant name
+ (for example, <filename>kernel-PAE</filename>), and <command><replaceable>version</replaceable></command>
+ with the target kernel's version. For example, to install the required kernel information packages for
+ the <command>kernel-PAE--2.6.18-53.1.13.el5</command> kernel, run:
</para>
-</formalpara>
-<!--
- <para>
- If the <filename>yum-utils</filename> package is installed and the <command>yum</command> repositories are set up properly, you can run the <xref linkend="stapprep"/> script as root. <xref linkend="stapprep"/> will automatically download and install the required packages via <command>yum</command> and <command>rpm</command> commands (assuming that the kernel you wish to probe is currently loaded).
- </para>-->
-<!-- The script assumes the Red Hat Enterprise Linux debuginfo repository,
-<filename>rhel-debuginfo</filename>, but this could be changed. One could
-search the /etc/yum.repo.d/ directory for debuginfo repositories -->
+<itemizedlist>
+ <listitem><para><command>yum install kernel-PAE-devel-2.6.18-53.1.13.el5</command></para></listitem>
+ <listitem><para><command>debuginfo-install kernel-PAE-2.6.18-53.1.13.el5</command></para></listitem>
+</itemizedlist>
<para>
If you do not have <command>yum</command> and <command>yum-utils</command> installed (and you are unable to install them), you will have to manually download and install the required kernel information packages. To generate the URL from which to download the required packages, use the following script:
@@ -280,6 +268,7 @@ Once you have manually downloaded the required packages to the machine, install
</section>
+
<section id="testing">
<title>Initial Testing</title>
<indexterm>
diff --git a/doc/SystemTap_Beginners_Guide/en-US/Legal_Notice.xml b/doc/SystemTap_Beginners_Guide/en-US/Legal_Notice.xml
new file mode 100644
index 00000000..1fcb7b99
--- /dev/null
+++ b/doc/SystemTap_Beginners_Guide/en-US/Legal_Notice.xml
@@ -0,0 +1,30 @@
+<?xml version='1.0'?>
+<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<legalnotice>
+ <para>
+ This documentation is free software; you can redistribute
+ it and/or modify it under the terms of the GNU General Public
+ License version 2 as published by the Free Software Foundation.
+ </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>
diff --git a/doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-timeout.xml b/doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-timeout.xml
index 32ce8319..719f5c6d 100644
--- a/doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-timeout.xml
+++ b/doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-timeout.xml
@@ -67,10 +67,11 @@ uses systemtap/testsuite/systemtap.examples/profiling/timeout.stp
</itemizedlist>
<para>
- In some applications, these system calls are used excessively. For example, an application that
- needs to perform a task once every hour could be configured (or even designed) to check the
- clock every second if the hour has already passed. Such design idioms are throwbacks to earlier
- kernel versions, which used a periodic tick.
+ In some applications, these system calls are used excessively. As such, they are normally identified as "likely
+ culprits" for polling applications. Note, however, that an application may be using a different system
+ call to poll excessively; sometimes, it is useful to find out the top system calls used by the system (refer to
+ <xref linkend="topsyssect"/> for instructions). Doing so can help you identify any additional suspects, which you
+ can add to <xref linkend="timeouts"/> for tracking.
</para>
@@ -88,13 +89,6 @@ uses systemtap/testsuite/systemtap.examples/profiling/timeout.stp
<primary>timer.s(), sample usage</primary>
<secondary>examples of SystemTap scripts</secondary>
</indexterm>
-
-<para>
- You can increase the sample time by editing the timer in the second probe (<command>timer.s()</command>).
- The output of <xref linkend="countcalls"/> contains the name and UID of the top 20 polling applications,
- along with how many times each application performed each polling system call (over time).
- <xref linkend="timeoutsoutput"/> contains an excerpt of the script:
-</para>
<example id="timeoutsoutput">
<title><xref linkend="timeouts"/> Sample Output</title>
@@ -132,6 +126,11 @@ foreach (fn+ in called) # Sort by function name
printf("%s %d\n", fn, @count(called[fn]))
exit()
}-->
-
+<para>
+ You can increase the sample time by editing the timer in the second probe (<command>timer.s()</command>).
+ The output of <xref linkend="countcalls"/> contains the name and UID of the top 20 polling applications,
+ along with how many times each application performed each polling system call (over time).
+ <xref linkend="timeoutsoutput"/> contains an excerpt of the script:
+</para>
</section>
diff --git a/doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-topsys.xml b/doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-topsys.xml
new file mode 100644
index 00000000..700ef4ed
--- /dev/null
+++ b/doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-topsys.xml
@@ -0,0 +1,131 @@
+<?xml version='1.0'?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+
+<section id="topsyssect">
+<title>Tracking Most Frequently Used System Calls</title>
+<indexterm>
+<primary>script examples</primary>
+<secondary>monitoring system calls</secondary>
+</indexterm>
+
+<indexterm>
+<primary>examples of SystemTap scripts</primary>
+<secondary>monitoring system calls</secondary>
+</indexterm>
+
+<indexterm>
+<primary>monitoring system calls</primary>
+<secondary>examples of SystemTap scripts</secondary>
+</indexterm>
+
+<!--
+<indexterm>
+<primary>counting function calls</primary>
+<secondary>examples of SystemTap scripts</secondary>
+</indexterm>
+-->
+
+<indexterm>
+<primary>system calls, monitoring</primary>
+<secondary>examples of SystemTap scripts</secondary>
+</indexterm>
+
+<remark>
+uses systemtap/testsuite/systemtap.examples/profiling/topsys.stp
+</remark>
+
+
+ <para>
+ <xref linkend="timeouts"/> from <xref linkend="timeoutssect"/> helps you identify which applications
+ are polling by pointing out which ones used the following system calls most frequently:
+ </para>
+
+ <itemizedlist>
+ <listitem><para><command>poll</command></para></listitem>
+ <listitem><para><command>select</command></para></listitem>
+ <listitem><para><command>epoll</command></para></listitem>
+ <listitem><para><command>itimer</command></para></listitem>
+ <listitem><para><command>futex</command></para></listitem>
+ <listitem><para><command>nanosleep</command></para></listitem>
+ <listitem><para><command>signal</command></para></listitem>
+ </itemizedlist>
+
+ <para>
+ However, in some systems, a different system call might be responsible for excessive polling. If you suspect
+ that a polling application might is using a different system call to poll, you need to identify first the top
+ system calls used by the system. To do this, use <xref linkend="topsys"/>.
+ </para>
+
+<formalpara id="topsys">
+ <title>topsys.stp</title>
+<para>
+<programlisting>
+<xi:include parse="text" href="extras/testsuite/systemtap.examples/profiling/topsys.stp" xmlns:xi="http://www.w3.org/2001/XInclude" />
+</programlisting>
+</para>
+</formalpara>
+
+<para>
+ <xref linkend="topsys"/> lists the top 20 system calls used by the system per 5-second interval. It also lists
+ how many times each system call was used during that period. Refer to <xref linkend="topsysoutput"/> for a sample output.
+</para>
+
+<indexterm>
+<primary>script examples</primary>
+<secondary>timer.s(), sample usage</secondary>
+</indexterm>
+
+<indexterm>
+<primary>examples of SystemTap scripts</primary>
+<secondary>timer.s(), sample usage</secondary>
+</indexterm>
+
+<indexterm>
+<primary>timer.s(), sample usage</primary>
+<secondary>examples of SystemTap scripts</secondary>
+</indexterm>
+
+
+<example id="topsysoutput">
+ <title><xref linkend="topsys"/> Sample Output</title>
+<screen>
+--------------------------------------------------------------
+ SYSCALL COUNT
+ gettimeofday 1857
+ read 1821
+ ioctl 1568
+ poll 1033
+ close 638
+ open 503
+ select 455
+ write 391
+ writev 335
+ futex 303
+ recvmsg 251
+ socket 137
+ clock_gettime 124
+ rt_sigprocmask 121
+ sendto 120
+ setitimer 106
+ stat 90
+ time 81
+ sigreturn 72
+ fstat 66
+--------------------------------------------------------------
+</screen>
+</example>
+<!--probe kernel.function(@1) { # probe function passed as argument from stdin
+called[probefunc()] &lt;&lt;&lt; 1 # add a count efficiently
+}
+global called
+probe end,timer.ms(30000) {
+foreach (fn+ in called) # Sort by function name
+# (fn in called-) # Sort by call count (in decreasing order)
+printf("%s %d\n", fn, @count(called[fn]))
+exit()
+}-->
+
+ </section>
+
diff --git a/doc/SystemTap_Beginners_Guide/en-US/Useful_SystemTap_Scripts.xml b/doc/SystemTap_Beginners_Guide/en-US/Useful_SystemTap_Scripts.xml
index ed089361..c2c83a82 100644
--- a/doc/SystemTap_Beginners_Guide/en-US/Useful_SystemTap_Scripts.xml
+++ b/doc/SystemTap_Beginners_Guide/en-US/Useful_SystemTap_Scripts.xml
@@ -63,6 +63,7 @@
<xi:include href="Useful_Scripts-paracallgraph.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Useful_Scripts-threadtimes.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Useful_Scripts-timeout.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Useful_Scripts-topsys.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</section>
<!-- removed; handler function no longer working as expected
<xi:include href="Useful_Scripts-kernelprofiling.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
diff --git a/doc/SystemTap_Tapset_Reference/Makefile.in b/doc/SystemTap_Tapset_Reference/Makefile.in
index ac14ca5d..84d2114c 100644
--- a/doc/SystemTap_Tapset_Reference/Makefile.in
+++ b/doc/SystemTap_Tapset_Reference/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -46,7 +46,7 @@ PROGRAMS = $(noinst_PROGRAMS)
docproc_SOURCES = docproc.c
docproc_OBJECTS = docproc.$(OBJEXT)
docproc_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -107,7 +107,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PIECFLAGS = @PIECFLAGS@
PIECXXFLAGS = @PIECXXFLAGS@
PIELDFLAGS = @PIELDFLAGS@
-PKG_CONFIG = @PKG_CONFIG@
PROCFLAGS = @PROCFLAGS@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
@@ -152,9 +151,7 @@ localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nspr_CFLAGS = @nspr_CFLAGS@
-nspr_LIBS = @nspr_LIBS@
nss_CFLAGS = @nss_CFLAGS@
-nss_LIBS = @nss_LIBS@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
@@ -243,8 +240,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -256,8 +253,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -267,13 +264,12 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique