summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--Makefile.am2
-rw-r--r--Makefile.in49
-rwxr-xr-xconfigure13
-rw-r--r--configure.ac2
-rw-r--r--man/.cvsignore1
-rw-r--r--man/stapprobes.iosched.5.in152
-rw-r--r--man/stapprobes.netdev.5.in78
-rw-r--r--man/stapprobes.nfs.5.in1237
-rw-r--r--man/stapprobes.nfsd.5.in514
-rw-r--r--man/stapprobes.pagefault.5.in41
-rw-r--r--man/stapprobes.process.5.in107
-rw-r--r--man/stapprobes.rpc.5.in584
-rw-r--r--man/stapprobes.scsi.5.in152
-rw-r--r--man/stapprobes.signal.5.in447
-rw-r--r--man/stapprobes.tcp.5.in103
-rw-r--r--man/stapprobes.udp.5.in103
-rw-r--r--stapprobes.5.in938
18 files changed, 3597 insertions, 936 deletions
diff --git a/ChangeLog b/ChangeLog
index 02a1f0a3..fea614e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2006-09-29 Li Guanglei <guanglei@cn.ibm.com>
+ * man: newly created dir for stapprobes
+ * man/stapprobes.iosched.5, man/stapprobes.netdev.5, man/stapprobes.nfs.5,
+ man/stapprobes.nfsd.5, man/stapprobes.pagefault.5, man/stapprobes.process.5,
+ man/stapprobes.rpc.5, man/stapprobes.scsi.5, man/stapprobes.signal.5,
+ man/stapprobes.tcp.5, man/stapprobes.udp.5: Some of these man pages are from
+ the old stapprobes.5.in. Some are newly created(rpc, nfs, nfsd)
+ * man/.cvsignore: ignore the generated man page files
+
+2006-09-29 Li Guanglei <guanglei@cn.ibm.com>
+
PR 3282
* Makefile.am: add -DPKGLIBDIR='"$(pkglibexecdir)"' to AM_CPPFLAGS
diff --git a/Makefile.am b/Makefile.am
index 8585fd50..9ce815db 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -11,7 +11,7 @@ AM_CFLAGS = -std=gnu99 -D_GNU_SOURCE -fexceptions \
-Wall -Werror -Wshadow -Wunused -Wformat=2 -W
AM_CXXFLAGS = -Wall
-dist_man_MANS = stap.1 stapprobes.5 stapfuncs.5 stapex.5 lket.5
+dist_man_MANS = stap.1 stapprobes.5 stapfuncs.5 stapex.5 lket.5 man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.tcp.5 man/stapprobes.udp.5
bin_PROGRAMS = stap staprun
stap_SOURCES = main.cxx \
parse.cxx staptree.cxx elaborate.cxx translate.cxx \
diff --git a/Makefile.in b/Makefile.in
index 87b7cc7e..2b0f73f2 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -52,9 +52,19 @@ DIST_COMMON = README $(am__configure_deps) $(dist_man_MANS) \
$(srcdir)/config.in $(srcdir)/lket.5.in $(srcdir)/stap.1.in \
$(srcdir)/stapex.5.in $(srcdir)/stapfuncs.5.in \
$(srcdir)/stapprobes.5.in $(srcdir)/stp_check.in \
- $(srcdir)/systemtap.spec.in $(top_srcdir)/configure AUTHORS \
- COPYING ChangeLog INSTALL NEWS compile depcomp install-sh \
- missing
+ $(srcdir)/systemtap.spec.in $(top_srcdir)/configure \
+ $(top_srcdir)/man/stapprobes.iosched.5.in \
+ $(top_srcdir)/man/stapprobes.netdev.5.in \
+ $(top_srcdir)/man/stapprobes.nfs.5.in \
+ $(top_srcdir)/man/stapprobes.nfsd.5.in \
+ $(top_srcdir)/man/stapprobes.pagefault.5.in \
+ $(top_srcdir)/man/stapprobes.process.5.in \
+ $(top_srcdir)/man/stapprobes.rpc.5.in \
+ $(top_srcdir)/man/stapprobes.scsi.5.in \
+ $(top_srcdir)/man/stapprobes.signal.5.in \
+ $(top_srcdir)/man/stapprobes.tcp.5.in \
+ $(top_srcdir)/man/stapprobes.udp.5.in AUTHORS COPYING \
+ ChangeLog INSTALL NEWS compile depcomp install-sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -64,7 +74,12 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = systemtap.spec stp_check stap.1 stapprobes.5 \
- stapfuncs.5 stapex.5 lket.5
+ stapfuncs.5 stapex.5 lket.5 man/stapprobes.iosched.5 \
+ man/stapprobes.netdev.5 man/stapprobes.nfs.5 \
+ man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 \
+ man/stapprobes.process.5 man/stapprobes.rpc.5 \
+ man/stapprobes.scsi.5 man/stapprobes.signal.5 \
+ man/stapprobes.tcp.5 man/stapprobes.udp.5
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" \
"$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
@@ -220,7 +235,7 @@ AM_CFLAGS = -std=gnu99 -D_GNU_SOURCE -fexceptions \
-Wall -Werror -Wshadow -Wunused -Wformat=2 -W
AM_CXXFLAGS = -Wall
-dist_man_MANS = stap.1 stapprobes.5 stapfuncs.5 stapex.5 lket.5
+dist_man_MANS = stap.1 stapprobes.5 stapfuncs.5 stapex.5 lket.5 man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.tcp.5 man/stapprobes.udp.5
stap_SOURCES = main.cxx \
parse.cxx staptree.cxx elaborate.cxx translate.cxx \
tapsets.cxx buildrun.cxx loc2c.c
@@ -317,6 +332,28 @@ stapex.5: $(top_builddir)/config.status $(srcdir)/stapex.5.in
cd $(top_builddir) && $(SHELL) ./config.status $@
lket.5: $(top_builddir)/config.status $(srcdir)/lket.5.in
cd $(top_builddir) && $(SHELL) ./config.status $@
+man/stapprobes.iosched.5: $(top_builddir)/config.status $(top_srcdir)/man/stapprobes.iosched.5.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+man/stapprobes.netdev.5: $(top_builddir)/config.status $(top_srcdir)/man/stapprobes.netdev.5.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+man/stapprobes.nfs.5: $(top_builddir)/config.status $(top_srcdir)/man/stapprobes.nfs.5.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+man/stapprobes.nfsd.5: $(top_builddir)/config.status $(top_srcdir)/man/stapprobes.nfsd.5.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+man/stapprobes.pagefault.5: $(top_builddir)/config.status $(top_srcdir)/man/stapprobes.pagefault.5.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+man/stapprobes.process.5: $(top_builddir)/config.status $(top_srcdir)/man/stapprobes.process.5.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+man/stapprobes.rpc.5: $(top_builddir)/config.status $(top_srcdir)/man/stapprobes.rpc.5.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+man/stapprobes.scsi.5: $(top_builddir)/config.status $(top_srcdir)/man/stapprobes.scsi.5.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+man/stapprobes.signal.5: $(top_builddir)/config.status $(top_srcdir)/man/stapprobes.signal.5.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+man/stapprobes.tcp.5: $(top_builddir)/config.status $(top_srcdir)/man/stapprobes.tcp.5.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+man/stapprobes.udp.5: $(top_builddir)/config.status $(top_srcdir)/man/stapprobes.udp.5.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
@@ -813,7 +850,7 @@ distclean-tags:
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
- $(mkdir_p) $(distdir)/.
+ $(mkdir_p) $(distdir)/. $(distdir)/man
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
diff --git a/configure b/configure
index 21915ad9..2a93d07b 100755
--- a/configure
+++ b/configure
@@ -5333,7 +5333,7 @@ DATE="$date"
ac_config_headers="$ac_config_headers config.h:config.in"
- ac_config_files="$ac_config_files Makefile systemtap.spec stp_check stap.1 stapprobes.5 stapfuncs.5 stapex.5 lket.5 runtime/lket/b2a/Makefile testsuite/Makefile"
+ ac_config_files="$ac_config_files Makefile systemtap.spec stp_check stap.1 stapprobes.5 stapfuncs.5 stapex.5 lket.5 runtime/lket/b2a/Makefile testsuite/Makefile man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.tcp.5 man/stapprobes.udp.5"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -5929,6 +5929,17 @@ do
"lket.5" ) CONFIG_FILES="$CONFIG_FILES lket.5" ;;
"runtime/lket/b2a/Makefile" ) CONFIG_FILES="$CONFIG_FILES runtime/lket/b2a/Makefile" ;;
"testsuite/Makefile" ) CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
+ "man/stapprobes.iosched.5" ) CONFIG_FILES="$CONFIG_FILES man/stapprobes.iosched.5" ;;
+ "man/stapprobes.netdev.5" ) CONFIG_FILES="$CONFIG_FILES man/stapprobes.netdev.5" ;;
+ "man/stapprobes.nfs.5" ) CONFIG_FILES="$CONFIG_FILES man/stapprobes.nfs.5" ;;
+ "man/stapprobes.nfsd.5" ) CONFIG_FILES="$CONFIG_FILES man/stapprobes.nfsd.5" ;;
+ "man/stapprobes.pagefault.5" ) CONFIG_FILES="$CONFIG_FILES man/stapprobes.pagefault.5" ;;
+ "man/stapprobes.process.5" ) CONFIG_FILES="$CONFIG_FILES man/stapprobes.process.5" ;;
+ "man/stapprobes.rpc.5" ) CONFIG_FILES="$CONFIG_FILES man/stapprobes.rpc.5" ;;
+ "man/stapprobes.scsi.5" ) CONFIG_FILES="$CONFIG_FILES man/stapprobes.scsi.5" ;;
+ "man/stapprobes.signal.5" ) CONFIG_FILES="$CONFIG_FILES man/stapprobes.signal.5" ;;
+ "man/stapprobes.tcp.5" ) CONFIG_FILES="$CONFIG_FILES man/stapprobes.tcp.5" ;;
+ "man/stapprobes.udp.5" ) CONFIG_FILES="$CONFIG_FILES man/stapprobes.udp.5" ;;
"depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
diff --git a/configure.ac b/configure.ac
index 8e430c48..08a43e77 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,7 +85,7 @@ AC_DEFINE_UNQUOTED(DATE, "$date", [Configuration/build date])
AC_SUBST(DATE, "$date")
AC_CONFIG_HEADERS([config.h:config.in])
-AC_CONFIG_FILES(Makefile systemtap.spec stp_check stap.1 stapprobes.5 stapfuncs.5 stapex.5 lket.5 runtime/lket/b2a/Makefile testsuite/Makefile)
+AC_CONFIG_FILES(Makefile systemtap.spec stp_check stap.1 stapprobes.5 stapfuncs.5 stapex.5 lket.5 runtime/lket/b2a/Makefile testsuite/Makefile man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.tcp.5 man/stapprobes.udp.5)
AC_OUTPUT
if test $build_elfutils = yes; then
diff --git a/man/.cvsignore b/man/.cvsignore
new file mode 100644
index 00000000..efaf190e
--- /dev/null
+++ b/man/.cvsignore
@@ -0,0 +1 @@
+*.[15]
diff --git a/man/stapprobes.iosched.5.in b/man/stapprobes.iosched.5.in
new file mode 100644
index 00000000..b88b8c4c
--- /dev/null
+++ b/man/stapprobes.iosched.5.in
@@ -0,0 +1,152 @@
+.\" -*- nroff -*-
+.TH STAPPROBES.SCSI 5 @DATE@ "IBM"
+.SH NAME
+stapprobes.scsi \- systemtap scsi probe points
+
+.\" macros
+.de SAMPLE
+.br
+.RS
+.nf
+.nh
+..
+.de ESAMPLE
+.hy
+.fi
+.RE
+..
+
+.SH DESCRIPTION
+
+This family of probe points is used to probe the SCSI activities.
+It contains the following probe points:
+
+.P
+.TP
+.B scsi.ioentry
+Fires when SCSI mid layer prepares a SCSI request
+
+.B Arguments:
+
+.I disk_major
+ The major number of the disk
+
+.I disk_minor
+ The minor number of the disk
+
+.I device_state
+ The current state of the device. The possible values could be:
+
+ SDEV_CREATED = 1, /* device created but not added to sysfs
+ * Only internal commands allowed (for inq) */
+ SDEV_RUNNING = 2, /* device properly configured
+ * All commands allowed */
+ SDEV_CANCEL = 3, /* beginning to delete device
+ * Only error handler commands allowed */
+ SDEV_DEL = 4, /* device deleted
+ * no commands allowed */
+ SDEV_QUIESCE = 5, /* Device quiescent. No block commands
+ * will be accepted, only specials (which
+ * originate in the mid-layer) */
+ SDEV_OFFLINE = 6, /* Device offlined (by error handling or
+ * user request */
+ SDEV_BLOCK = 7, /* Device blocked by scsi lld. No scsi
+ * commands from user or midlayer should be issued
+ * to the scsi lld. */
+
+.P
+.TP
+.B scsi.iodispatching
+Fires when the SCSI mid layer dispatches a SCSI command to the low level driver
+
+.B Arguments:
+
+.I host_no
+ The host number
+
+.I channel
+ The channel number
+
+.I lun
+ The lun number
+
+.I dev_id
+ The scsi device id
+
+.I device_state
+ The current state of the device.
+
+.I data_direction
+ The data_direction specifies whether this command is from/to the device.
+ The possible values could be:
+
+ DMA_BIDIRECTIONAL = 0,
+ DMA_TO_DEVICE = 1,
+ DMA_FROM_DEVICE = 2,
+ DMA_NONE = 3,
+
+.I request_buffer
+ The request buffer address
+
+.I req_bufflen
+ The request buffer length
+
+.P
+.TP
+.B scsi.iodone
+Fires when a SCSI command is done by low level driver and enqueued into the done queue.
+
+.B Arguments:
+
+.I host_no
+ The host number
+
+.I channel
+ The channel number
+
+.I lun
+ The lun number
+
+.I dev_id
+ The scsi device id
+
+.I device_state
+ The current state of the device
+
+.I data_direction
+ The data_direction specifies whether this command is from/to the device.
+
+.P
+.TP
+.B scsi.iocompleted
+Fires when SCSI mid layer runs the completion processing for
+block device I/O requests
+
+.B Arguments:
+
+.I host_no
+ The host number
+
+.I channel
+ The channel number
+
+.I lun
+ The lun number
+
+.I dev_id
+ The scsi device id
+
+.I device_state
+ The current state of the device
+
+.I data_direction
+ The data_direction specifies whether this command is from/to the device.
+
+.I goodbytes
+ The bytes completed.
+
+.SH SEE ALSO
+.IR stap (1),
+.IR stapprobes (5),
+.IR lket (5)
+
diff --git a/man/stapprobes.netdev.5.in b/man/stapprobes.netdev.5.in
new file mode 100644
index 00000000..237f5d74
--- /dev/null
+++ b/man/stapprobes.netdev.5.in
@@ -0,0 +1,78 @@
+.\" -*- nroff -*-
+.TH STAPPROBES.NETDEV 5 @DATE@ "IBM"
+.SH NAME
+stapprobes.netdev \- systemtap network device probe points
+
+.\" macros
+.de SAMPLE
+.br
+.RS
+.nf
+.nh
+..
+.de ESAMPLE
+.hy
+.fi
+.RE
+..
+
+.SH DESCRIPTION
+
+This family of probe points is used to probe the activities of network
+device.
+It contains the following probe points:
+
+.P
+.TP
+.B netdev.receive
+Fires when data arrives on network device
+
+.B Arguments:
+
+.I dev_name
+ The name of the device. e.g: eth0, ath1
+
+.I length
+ The length of the receiving buffer
+
+.I protocol
+ The possible values of protocol could be:
+ 0800 IP
+ 8100 802.1Q VLAN
+ 0001 802.3
+ 0002 AX.25
+ 0004 802.2
+ 8035 RARP
+ 0005 SNAP
+ 0805 X.25
+ 0806 ARP
+ 8137 IPX
+ 0009 Localtalk
+ 86DD IPv6
+
+.I truesize
+ The size of the received data
+
+.P
+.TP
+.B netdev.transmit
+Fires when the network device wants to transmit a buffer
+
+.B Arguments:
+
+.I dev_name
+ The name of the device. e.g: eth0, ath1
+
+.I length
+ The length of the transmit buffer
+
+.I protocol
+ The protocol of this packet.
+
+.I truesize
+ The size of the the data to be transmitted.
+
+.SH SEE ALSO
+.IR stap (1),
+.IR stapprobes (5),
+.IR lket (5)
diff --git a/man/stapprobes.nfs.5.in b/man/stapprobes.nfs.5.in
new file mode 100644
index 00000000..09b6ad4b
--- /dev/null
+++ b/man/stapprobes.nfs.5.in
@@ -0,0 +1,1237 @@
+.\" -*- nroff -*-
+.TH STAPPROBES.NFS 5 @DATE@ "IBM"
+.SH NAME
+stapprobes.nfs \- systemtap NFS client side probe points
+
+.\" macros
+.de SAMPLE
+.br
+.RS
+.nf
+.nh
+..
+.de ESAMPLE
+.hy
+.fi
+.RE
+..
+
+.SH DESCRIPTION
+
+This family of probe points is used to probe NFS activities on
+client side.
+It contains the following probe points:
+
+.P
+.TP
+.B nfs.fop.llseek
+
+Fires whenever doing a llseek operation on nfs client side
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I s_id
+ the pointer to s_id
+
+.I devname
+ the combination of server ip and the name of block device
+ on server
+
+.I maxbyte
+ Maximum size of the files
+
+.I offset
+ the offset of file to be repositioned
+
+.I origin
+ the original position. The possible value could be:
+ SEEK_SET
+ The offset is set to offset bytes.
+ SEEK_CUR
+ The offset is set to its current location
+ plus offset bytes.
+ SEEK_END
+ The offset is set to the size of the file
+ plus offset bytes.
+
+.P
+.TP
+.B nfs.fop.llseek.return
+
+Fires whenever nfs llseek operation is done
+
+.B Arguments:
+
+.I retstr
+ resulting offset location
+
+.P
+.TP
+.B nfs.fop.read
+
+Fires whenever doing a read operation on nfs client side
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I s_id
+ the pointer to s_id
+
+.I devname
+ the combination of server ip and the name of block device
+ on server
+
+.I len,size
+ number of bytes to be read
+
+.I pos
+ current file offset
+
+.I buf
+ the buf address
+
+.P
+.TP
+.B nfs.fop.read.return
+
+Fires whenever nfs read operation is done
+
+.B Arguments:
+
+.I size
+ number of bytes read
+
+.P
+.TP
+.B nfs.fop.write
+
+Fires whenever doing a write operation on nfs client side
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I s_id
+ the pointer to s_id
+
+.I devname
+ the combination of server ip and the name of block device
+ on server
+
+.I len,size
+ number of bytes to written
+
+.I pos
+ current file offset
+
+.I buf
+ the buf address
+
+.P
+.TP
+.B nfs.fop.write.return
+
+Fires whenever nfs write operation is done
+
+.B Arguments:
+
+.I size
+ number of bytes written
+
+.P
+.TP
+.B nfs.fop.aio_read
+
+Fires whenever doing an aio_read operation on nfs client side
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I s_id
+ the pointer to s_id
+
+.I devname
+ the combination of server ip and the name of block device
+ on server
+
+.I count,size
+ number of bytes to be read
+
+.I pos
+ current file offset
+
+.I buf
+ the buf address
+
+.I parent_name
+ parent dir name
+
+.I file_name
+ file name
+
+.I cache_valid
+ cache related bit mask flag
+
+.I cache_time
+ when we started read-caching this inode
+
+.I attrtimeo
+ how long the cached information is assumed to be valid.
+
+ The cached attrs for this inode needed to be revalidated if
+ jiffies - read_cache_jiffies > attrtime
+
+.P
+.TP
+.B nfs.fop.aio_read.return
+
+Fires whenever nfs aio_read operation is done
+
+.B Arguments:
+
+.I size
+ number of bytes read
+
+.P
+.TP
+.B nfs.fop.aio_write
+
+Fires whenever doing an aio_write operation on nfs client side
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I s_id
+ the pointer to s_id
+
+.I devname
+ the combination of server ip and the name of block device
+ on server
+
+.I count,size
+ number of bytes to written
+
+.I pos
+ current file offset
+
+.I buf
+ the buf address
+
+.I parent_name
+ parent dir name
+
+.I file_name
+ file name
+
+.P
+.TP
+.B nfs.fop.aio_write.return
+
+Fires whenever nfs aio_write operation is done
+
+.B Arguments:
+
+.I size
+ number of bytes written
+
+.P
+.TP
+.B nfs.fop.mmap
+
+Fires whenever doing an mmap operation on nfs client side
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I s_id
+ the pointer to s_id
+
+.I devname
+ the combination of server ip and the name of block device
+ on server
+
+.I vm_start
+ start address within vm_mm
+
+.I vm_end
+ the first byte after end address within vm_mm
+
+.I vm_flag
+ vm flags
+
+.I parent_name
+ parent dir name
+
+.I file_name
+ file name
+
+.I cache_valid
+ cache related bit mask flag
+
+.I cache_time
+ when we started read-caching this inode
+
+.I attrtimeo
+ how long the cached information is assumed to be valid.
+
+ The cached attrs for this inode needed to be revalidated if
+ jiffies - read_cache_jiffies > attrtime
+
+.P
+.TP
+.B nfs.fop.open
+
+Fires whenever doing an open operation on nfs client side
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I s_id
+ the pointer to s_id
+
+.I devname
+ the combination of server ip and the name of block device
+ on server
+
+.I file_name
+ file name
+
+.I flag
+ file flag
+
+.I i_size
+ file length in bytes
+
+.P
+.TP
+.B nfs.fop.flush
+
+Fires whenever doing an flush operation on nfs client side
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I s_id
+ the pointer to s_id
+
+.I devname
+ the combination of server ip and the name of block device
+ on server
+
+.I mode
+ file mode
+
+.I ndirty
+ number of dirty page to be flushed
+
+.P
+.TP
+.B nfs.fop.release
+
+Fires whenever doing a release page operation on nfs client side
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I s_id
+ the pointer to s_id
+
+.I devname
+ the combination of server ip and the name of block device
+ on server
+
+.I mode
+ file mode
+
+.P
+.TP
+.B nfs.fop.fsync
+
+Fires whenever doing a fsync operation on nfs client side
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I s_id
+ the pointer to s_id
+
+.I devname
+ the combination of server ip and the name of block device
+ on server
+
+.I ndirty
+ number of dirty page to be flushed
+
+.P
+.TP
+.B nfs.fop.lock
+
+Fires whenever doing a file lock operation on nfs client side
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I s_id
+ the pointer to s_id
+
+.I devname
+ the combination of server ip and the name of block device
+ on server
+
+.I i_mode
+ file type and access rights
+
+.I cmd
+ cmd arguments
+
+.I fl_type
+ lock type
+
+.I fl_flag
+ lock flags
+
+.I fl_start
+ starting offset of locked region
+
+.I fl_end
+ ending offset of locked region
+
+.P
+.TP
+.B nfs.fop.sendfile
+
+Fires whenever doing a send file operation on nfs client side
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I s_id
+ the pointer to s_id
+
+.I devname
+ the combination of server ip and the name of block device
+ on server
+
+.I count,size
+ number of bytes to sent
+
+.I ppos
+ current file offset
+
+.I cache_valid
+ cache related bit mask flag
+
+.I cache_time
+ when we started read-caching this inode
+
+.I attrtimeo
+ how long the cached information is assumed to be valid.
+
+ The cached attrs for this inode needed to be revalidated if
+ jiffies - read_cache_jiffies > attrtime
+
+.P
+.TP
+.B nfs.fop.sendfile.return
+
+Fires whenever nfs sendfile operation is done
+
+.B Arguments:
+
+.I size
+ number of bytes sent
+
+.P
+.TP
+.B nfs.fop.check_flags
+
+Fires whenever doing a check flag operation on nfs client side
+
+.B Arguments:
+
+.I flags
+ file flag
+
+.P
+.TP
+.B nfs.aop.readpage
+
+Fires when a previous async read operation failed
+
+.B Arguments:
+
+.I __page
+ the address of page
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I i_flag
+ file flags
+
+.I i_size
+ file length in bytes
+
+.I sb_flag
+ super block flags
+
+.I file
+ file argument
+
+.I page_index
+ offset within mapping
+
+.I rsize
+ read size (in bytes)
+
+.P
+.TP
+.B nfs.aop.readpages
+
+Fies when in readahead way,read several pages once
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I nr_pages ,size
+ number of pages attempted to read in this execution
+
+.I file
+ filp argument
+
+.I rpages
+ read size (in pages)
+
+.I rsize
+ read size (in bytes)
+
+.P
+.TP
+.B nfs.aop.readpages.return
+
+Fies whenever a nfs read pages operation is done
+
+.B Arguments:
+
+.I size
+ number of pages read
+
+.P
+.TP
+.B nfs.aop.set_page_dirty
+
+Fies whenever set page dirty on nfs client side
+
+.B Arguments:
+
+.I __page
+ the address of page
+
+.I page_flag
+ page flags
+
+.P
+.TP
+.B nfs.aop.writepage
+
+Fies whenever writing an mapped page to the server from nfs client side
+
+.B Arguments:
+
+.I __page
+ the address of page
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I for_reclaim
+ a flag of writeback_control, indicates if it's invoked from the page allocator
+
+.I for_kupdate
+ a flag of writeback_control, indicates if it's a kupdate writeback
+ The priority of wb is decided by above two flags
+
+.I i_flag
+ file flags
+
+.I i_size
+ file length in bytes
+
+.I i_state
+ inode state flags
+
+.I sb_flag
+ super block flags
+
+.I page_index
+ offset within mapping
+
+.I wsize
+ write size
+
+.P
+.TP
+.B nfs.aop.writepages
+
+Fies whenever writing several dirty pages to the server from nfs client sides
+
+.B Arguments:
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I for_reclaim
+ a flag of writeback_control, indicates if it's invoked from the page allocator
+
+.I for_kupdate
+ a flag of writeback_control, indicates if it's a kupdate writeback
+ The priority of wb is decided by above two flags
+
+.I wpages
+ write size (in pages)
+
+.I wsize
+ write size
+
+.I nr_to_write ,size
+ number of pages attempted to be written in this execution
+
+.P
+.TP
+.B nfs.aop.prepare_write
+
+Fies whenever prepare a page for writting on nfs client sides
+
+.B Arguments:
+
+.I __page
+ the address of page
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I offset
+ start address of this write operation
+
+.I to
+ end address of this write operation
+
+.I page_index
+ offset within mapping
+
+.I size
+ read bytes
+
+.P
+.TP
+.B nfs.aop.commit_write
+
+Fies often after prepare write operation
+
+.B Arguments:
+
+.I __page
+ the address of page
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I offset
+ start address of this write operation
+
+.I to
+ end address of this write operation
+
+.I i_flag
+ file flags
+
+.I i_size
+ file length in bytes
+
+.I sb_flag
+ super block flag
+
+.I page_index
+ offset within mapping
+
+.I size
+ read bytes
+
+.P
+.TP
+.B nfs.aop.release_page
+
+.B Arguments:
+
+.I __page
+ the address of page
+
+.I dev
+ device identifier
+
+.I ino
+ inode number
+
+.I page_index
+ offset within mapping
+
+.P
+.TP
+.B nfs.proc.lookup
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I filename
+ the name of file which client opens/searchs on server
+
+.I name_len
+ the length of file name
+
+.I bitmask0, bitmask1
+ V4 bitmask representing the set of attributes
+ supported on this filesystem (only in probe nfs.proc4.lookup)
+
+.P
+.TP
+.B nfs.proc.read
+
+Fires when client synchronously reads file from server
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I flags
+ used to set task->tk_flags in rpc_init_task function
+
+.I size,count
+ number of bytes to be read in this execution
+
+.I offset
+ the file offset
+
+.P
+.TP
+.B nfs.proc.read.return
+
+Fires when synchronously reading file from server is done
+
+.B Arguments:
+
+.I size
+ number of bytes read
+
+.P
+.TP
+.B nfs.proc.write
+
+Fires when client synchronously writes file to server
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I flags
+ used to set task->tk_flags in rpc_init_task function
+
+.I size,count
+ number of bytes to be written in this execution
+
+.I offset
+ the file offset
+
+.I bitmask0, bitmask1
+ V4 bitmask representing the set of attributes
+ supported on this filesystem (only in probe nfs.proc4.lookup)
+
+.P
+.TP
+.B nfs.proc.write.return
+
+Fires when synchronously writting file from server is done
+
+.B Arguments:
+
+.I size
+ number of bytes written
+
+.P
+.TP
+.B nfs.proc.commit
+
+Fires when client writes the buffered data to disk,the buffered
+data is asynchronously written by client before(not exist in NFSV2)
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I size,count
+ number of bytes to be written in this execution
+
+.I offset
+ the file offset
+
+.I bitmask0, bitmask1
+ V4 bitmask representing the set of attributes
+ supported on this filesystem (only in probe nfs.proc4.lookup)
+
+.P
+.TP
+.B nfs.proc.commit.return
+
+Fires when committing operation is done
+
+.B Arguments:
+
+.I size
+ number of bytes written
+
+.P
+.TP
+.B nfs.proc.read_setup
+
+Fires when client asynchronously reads file from server,
+this function is used to setup a read rpc task,not do
+a real read operation.
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I size,count
+ number of bytes to be read in this execution
+
+.I offset
+ the file offset
+
+.P
+.TP
+.B nfs.proc.read_done
+
+Fires when a read reply is received or some read error occur
+(timeout or socket shutdown)
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I status
+ result of last async read operation
+
+.I count
+ number of bytes read
+
+.I timestamp
+ time stamp ,which is used for lease renewal (only
+ in nfs.proc4.read_done)
+
+.P
+.TP
+.B nfs.proc.write_setup
+
+Fires when client asynchronously write data to server,
+this function is used to setup a write rpc task,not do
+a write read operation.
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I size,count
+ number of bytes to be written in this execution
+
+.I offset
+ the file offset
+
+.I how
+ used to set args.stable,The possible value could be:
+ NFS_UNSTABLE,
+ NFS_DATA_SYNC,
+ NFS_FILE_SYNC
+ (only in nfs.proc3.write_setup and nfs.proc4.write_setup)
+
+.I bitmask0, bitmask1
+ V4 bitmask representing the set of attributes supported
+ on this filesystem (only in probe nfs.proc4.write_setup)
+
+.P
+.TP
+.B nfs.proc.write_done
+
+Fires when a write reply is received or some write error occur
+(timeout or socket shutdown)
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I status
+ result of last async write operation
+
+.I valid
+ fattr->valid ,indicates which fields are valid
+
+.I count
+ number of bytes written
+
+.I timestamp
+ time stamp ,which is used for lease renewal (only
+ in nfs.proc4.read_done)
+
+.P
+.TP
+.B nfs.proc.commit_setup
+
+Fires when client asynchronously do a commit operation,
+this function is used to setup a commit rpc task,not do
+a commit read operation.
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I size,count
+ number of bytes to be written in this execution
+
+.I offset
+ the file offset
+
+.I bitmask0, bitmask1
+ V4 bitmask representing the set of attributes supported
+ on this filesystem (only in probe nfs.proc4.commit_setup)
+
+.P
+.TP
+.B nfs.proc.commit_done
+
+Fires when a commit reply is received or some commit error occur
+(timeout or socket shutdown)
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I status
+ result of last async write operation
+
+.I valid
+ fattr->valid ,indicates which fields are valid
+
+.I count
+ number of bytes written
+
+.I timestamp
+ time stamp ,which is used for lease renewal (only
+ in nfs.proc4.read_done)
+
+.P
+.TP
+.B nfs.proc.open
+
+Fires whenever doing a open operation on nfs client side,
+the nfs_open function is used to allocate file read/write
+context information
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I filename
+ file name
+
+.I flag
+ file flag
+
+.I mode
+ file mode
+
+.P
+.TP
+.B nfs.proc.release
+
+Fires whenever doing a release operation on nfs client side,
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I filename
+ file name
+
+.I flag
+ file flag
+
+.I mode
+ file mode
+
+.P
+.TP
+.B nfs.proc4.handle_exception
+
+Fires whenever doing the error handling, only exist in NFSV4
+
+.I errorcode
+ error code
+
+.P
+.TP
+.B nfs.proc.create
+
+Fires whenever nfs client creates a file on server
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I fh
+ file handler of parent dir
+
+.I filename
+ file name
+
+.I filelen
+ length of file name
+
+.I flag
+ indicates create mode(only for NFSV3 and NFSV4)
+
+.P
+.TP
+.B nfs.proc.remove
+
+Fires whenever nfs client removes a file from server
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I fh
+ file handler of parent dir
+
+.I filename
+ file name
+
+.I filelen
+ length of file name
+
+.P
+.TP
+.B nfs.proc.rename
+
+Fires whenever nfs client renames a file on server
+
+.B Arguments:
+
+.I server_ip
+ ip address of server
+
+.I prot
+ transfer protocol
+
+.I version
+ nfs version
+
+.I old_fh
+ file handler of old parent dir
+
+.I old_name
+ old file name
+
+.I old_filelen
+ length of old file name
+
+.I new_fh
+ file handler of new parent dir
+
+.I new_name
+ new file name
+
+.I new_filelen
+ length of new file name
+
+.SH SEE ALSO
+.IR stap (1),
+.IR stapprobes (5),
+.IR lket (5)
+
diff --git a/man/stapprobes.nfsd.5.in b/man/stapprobes.nfsd.5.in
new file mode 100644
index 00000000..92538440
--- /dev/null
+++ b/man/stapprobes.nfsd.5.in
@@ -0,0 +1,514 @@
+.\" -*- nroff -*-
+.TH STAPPROBES.NFSD 5 @DATE@ "IBM"
+.SH NAME
+stapprobes.nfsd \- systemtap NFS server side probe points
+
+.\" macros
+.de SAMPLE
+.br
+.RS
+.nf
+.nh
+..
+.de ESAMPLE
+.hy
+.fi
+.RE
+..
+
+.SH DESCRIPTION
+
+This family of probe points is used to probe NFS activities on
+server side. Because there is only one function, i.e., nfsd4_proc_compound
+in proc level for NFSv4, all the following nfsd.proc probe points except
+nfsd.proc.compound are only for NFSv2 and NFSv3.
+
+It contains the following probe points:
+
+.P
+.TP
+.B nfsd.proc.lookup
+
+Fires whenever client opens/searchs file on server
+
+.B Arguments:
+
+.I client_ip
+ the ip address of client
+
+.I proto
+ transfer protocol
+
+.I version
+ nfs version
+
+.I fh
+ the pointer to file handler of parent dir
+
+.I filename
+ file name
+
+.I filelen
+ the length of file name
+
+.P
+.TP
+.B nfsd.proc.read
+
+Fires whenever client reads file on server
+
+.B Arguments:
+
+.I client_ip
+ the ip address of client
+
+.I proto
+ transfer protocol
+
+.I version
+ nfs version
+
+.I fh
+ the pointer to file handler of file
+
+.I count,size
+ number of bytes to be read
+
+.I offset
+ the offset of file
+
+.I vec
+ struct kvec ,includes buf address in kernel address
+ and the length of each buffer
+
+.I vlen
+ number of blocks to be read
+
+.P
+.TP
+.B nfsd.proc.write
+
+Fires whenever client writes data to file on server
+
+.B Arguments:
+
+.I client_ip
+ the ip address of client
+
+.I proto
+ transfer protocol
+
+.I version
+ nfs version
+
+.I fh
+ the pointer to file handler of file
+
+.I count,size
+ number of bytes to written
+
+.I offset
+ the offset of file
+
+.I vec
+ struct kvec ,includes buf address in kernel address
+ and the length of each buffer
+
+.I vlen
+ number of blocks to written
+
+.I stable
+ argp->stable(only for nfs.proc3.write)
+
+.P
+.TP
+.B nfsd.proc.commit
+
+Fires whenever client does a commit operation
+
+.B Arguments:
+
+.I client_ip
+ the ip address of client
+
+.I proto
+ transfer protocol
+
+.I version
+ nfs version
+
+.I fh
+ the pointer to file handler of file
+
+.I count,size
+ number of bytes to written
+
+.I offset
+ the offset of file
+
+.P
+.TP
+.B nfsd.proc.create
+
+Fires whenever client creates a file on server
+
+.B Arguments:
+
+.I client_ip
+ the ip address of client
+
+.I proto
+ transfer protocol
+
+.I version
+ nfs version
+
+.I fh
+ the pointer to file handler of parent dir
+
+.I filename
+ file name
+
+.I filelen
+ the length of file name
+
+.P
+.TP
+.B nfsd.proc.remove
+
+Fires whenever client removes a file on server
+
+.B Arguments:
+
+.I client_ip
+ the ip address of client
+
+.I proto
+ transfer protocol
+
+.I version
+ nfs version
+
+.I fh
+ the pointer to file handler of file
+
+.I filename
+ file name
+
+.I filelen
+ the length of file name
+
+.P
+.TP
+.B nfsd.proc.rename
+
+Fires whenever client renames a file on server
+
+.B Arguments:
+
+.I client_ip
+ the ip address of client
+
+.I proto
+ transfer protocol
+
+.I version
+ nfs version
+
+.I fh
+ the pointer to file handler of old path
+
+.I tfh
+ the pointer to file handler of new path
+
+.I filename
+ old file name
+
+.I tname
+ new file name
+
+.I filelen
+ the length of old file name
+
+.I tlen
+ the length of new file name
+
+.P
+.TP
+.B nfsd.proc.compound
+
+Fires whenever server receives a NFSV4 operation from client
+
+.B Arguments:
+
+.I client_ip
+ the ip address of client
+
+.I proto
+ transfer protocol
+
+.I version
+ nfs version
+
+.I num
+ number of file operation
+
+.I op
+ head of operation list
+
+.P
+.TP
+.B nfsd.open
+
+Fires whenever server opens file
+
+.B Arguments:
+
+.I fh
+ file handle (the first part is the length of the file handle)
+
+.I access
+ type of open (read/write/commit/readdir...)
+
+.I type
+ type of file(regular file or dir)
+
+.P
+.TP
+.B nfsd.read
+
+Fires whenever server reads file
+
+.B Arguments:
+
+.I fh
+ file handle (the first part is the length of the file handle)
+
+.I file
+ argument :file, indicates if the file has been opened.
+
+.I count,size
+ number of bytes to be read
+
+.I offset
+ the offset of file
+
+.I vec
+ struct kvec ,includes buf address in kernel address
+ and the length of each buffer
+
+.I vlen
+ number of blocks to be read
+
+.P
+.TP
+.B nfsd.write
+
+Fires whenever server writes file
+
+.B Arguments:
+
+.I fh
+ file handle (the first part is the length of the file handle)
+
+.I file
+ argument :file, indicates if the file has been opened.
+
+.I count,size
+ number of bytes to be read
+
+.I offset
+ the offset of file
+
+.I vec
+ struct kvec ,includes buf address in kernel address
+ and the length of each buffer
+
+.I vlen
+ number of blocks to be written
+
+.P
+.TP
+.B nfsd.commit
+
+Fires when server commits all pending writes to stable storage
+
+.B Arguments:
+
+.I fh
+ file handle (the first part is the length of the file handle)
+
+.I count,size
+ number of bytes to be read
+
+.I offset
+ the offset of file
+
+.P
+.TP
+.B nfsd.lookup
+
+Fires whenever client opens/searchs file on server
+
+.B Arguments:
+
+.I fh
+ file handle (the first part is the length of the file handle)
+
+.I filename
+ file name
+
+.I filelen
+ the length of file name
+
+.P
+.TP
+.B nfsd.create
+
+ Fires when client creates a file(regular,dir,device,fifo) on
+ server side, sometimes nfsd will call nfsd_create_v3 instead
+ of this function
+
+.B Arguments:
+
+.I fh
+ file handle (the first part is the length of the file handle)
+
+.I filename
+ file name
+
+.I filelen
+ the length of file name
+
+.I type
+ file type(regular,dir,device,fifo ...)
+
+.I iap_valid
+ Attribute flags
+
+.I iap_mode
+ file access mod
+
+.P
+.TP
+.B nfsd.createv3
+
+Fires when client creates a regular file or set file attributes
+on server side,only called by nfsd3_proc_create and nfsd4_open
+(op_claim_type is NFS4_OPEN_CLAIM_NULL)
+
+.B Arguments:
+
+.I fh
+ file handle (the first part is the length of the file handle)
+
+.I filename
+ file name
+
+.I filelen
+ the length of file name
+
+.I iap_valid
+ Attribute flags
+
+.I iap_mode
+ file access mode
+
+.I createmode
+ create mode .The possible values could be:
+ NFS3_CREATE_EXCLUSIVE,NFS3_CREATE_UNCHECKED,NFS3_CREATE_GUARDED
+
+.I truncp
+ trunp arguments, indicates if the file shouldbe truncate
+
+.I verfier
+ file attributes (atime,mtime,mode).It's used to reset file
+ attributes for CREATE_EXCLUSIVE
+
+.P
+.TP
+.B nfsd.unlink
+
+Fires when client removes a file or a dir on server side,
+
+.B Arguments:
+
+.I fh
+ file handle (the first part is the length of the file handle)
+
+.I filename
+ file name
+
+.I filelen
+ the length of file name
+
+.I type
+ file type(file or dir)
+
+.P
+.TP
+.B nfsd.rename
+Fires when clients rename a file on server side
+
+.B Arguments:
+
+.I fh
+ file handler of old path
+
+.I tfh
+ file handler of new path
+
+.I filename
+ old file name
+
+.I tname
+ new file name
+
+.I flen
+ length of old file name
+
+.I tlen
+ length of new file name
+
+.P
+.TP
+.B nfsd.close
+
+Fires whenever server closes file
+
+.B Arguments:
+
+.I filename
+ file name
+
+.P
+.TP
+.B nfsd.dispatch
+
+Fires whenever server receives NFS operation from client
+
+.B Arguments:
+
+.I client_ip
+ the ip address of client
+
+.I proto
+ transfer protocol
+
+.I version
+ nfs version
+
+.I xid
+ transmission id
+
+.I prog
+ program number
+
+.I proc
+ procedure number
+
+.SH SEE ALSO
+.IR stap (1),
+.IR stapprobes (5),
+.IR lket (5)
+
diff --git a/man/stapprobes.pagefault.5.in b/man/stapprobes.pagefault.5.in
new file mode 100644
index 00000000..175121eb
--- /dev/null
+++ b/man/stapprobes.pagefault.5.in
@@ -0,0 +1,41 @@
+.\" -*- nroff -*-
+.TH STAPPROBES.PAGEFAULT 5 @DATE@ "IBM"
+.SH NAME
+stapprobes.pagefault \- systemtap pagefault probe points
+
+.\" macros
+.de SAMPLE
+.br
+.RS
+.nf
+.nh
+..
+.de ESAMPLE
+.hy
+.fi
+.RE
+..
+
+.SH DESCRIPTION
+
+This family of probe points is used to probe page fault events.
+It contains the following probe points:
+
+.P
+.TP
+.B vm.pagefault
+Fires when there is a pagefault
+
+.B Arguments:
+
+.I address
+ The address caused this page fault.
+
+.I write_access
+ 1 means this is a write access and 0 means this is a read access
+
+.SH SEE ALSO
+.IR stap (1),
+.IR stapprobes (5),
+.IR lket (5)
+
diff --git a/man/stapprobes.process.5.in b/man/stapprobes.process.5.in
new file mode 100644
index 00000000..99418ea5
--- /dev/null
+++ b/man/stapprobes.process.5.in
@@ -0,0 +1,107 @@
+.\" -*- nroff -*-
+.TH STAPPROBES.PROCESS 5 @DATE@ "Intel, IBM"
+.SH NAME
+stapprobes.process \- systemtap process probe points
+
+.\" macros
+.de SAMPLE
+.br
+.RS
+.nf
+.nh
+..
+.de ESAMPLE
+.hy
+.fi
+.RE
+..
+
+.SH DESCRIPTION
+
+This family of probe points is used to probe the process activities.
+It contains the following probe points:
+
+.P
+.TP
+.B process.create
+
+Fires whenever a new process is successfully created, either as a
+result of one of the fork syscall variants, or a new kernel thread.
+
+.B Arguments:
+
+.I task
+ a handle to the newly created process
+
+.I new_pid
+ pid of the newly created process
+
+.P
+.TP
+.B process.start
+
+Fires immediately before a new process begins execution.
+
+.B Arguments:
+
+.I N/A
+
+.P
+.TP
+.B process.exec
+
+Fires whenever a process attempts to exec to a new program
+
+.B Arguments:
+
+.I filename
+ the path to the new executable
+
+.P
+.TP
+.B process.exec_complete
+
+Fires at the completion of an exec call
+
+.B Arguments:
+
+.I errno
+ the error number resulting from the exec
+
+.I success
+ a boolean indicating whether the exec was successful
+
+.P
+.TP
+.B process.exit
+
+Fires when a process terminates. This will always be followed by a
+process.release, though the latter may be delayed if the process
+waits in a zombie state.
+
+.B Arguments:
+
+.I code
+ the exit code of the process
+
+.P
+.TP
+.B process.release
+
+Fires when a process is released from the kernel. This always
+follows a process.exit, though it may be delayed somewhat if the
+process waits in a zombie state.
+
+.B Arguments:
+
+.I task
+ a task handle to the process being released
+
+.I pid
+ pid of the process being released
+
+.SH SEE ALSO
+.IR stap (1),
+.IR stapprobes (5),
+.IR lket (5)
+
diff --git a/man/stapprobes.rpc.5.in b/man/stapprobes.rpc.5.in
new file mode 100644
index 00000000..f976c76e
--- /dev/null
+++ b/man/stapprobes.rpc.5.in
@@ -0,0 +1,584 @@
+.\" -*- nroff -*-
+.TH STAPPROBES.RPC 5 @DATE@ "IBM"
+.SH NAME
+stapprobes.rpc \- systemtap SunRPC probe points
+
+.\" macros
+.de SAMPLE
+.br
+.RS
+.nf
+.nh
+..
+.de ESAMPLE
+.hy
+.fi
+.RE
+..
+
+.SH DESCRIPTION
+
+This family of probe points is used to probe the SUNRPC activities,
+including the client, the server and the sunrpc scheduler.
+
+It contains the following probe points:
+
+.P
+.TP
+.B sunrpc.clnt.create_client
+Fires when an RPC client is to be created
+
+.B Arguments:
+
+.I servername
+ The name of the server machine
+
+.I progname
+ The name of the RPC program
+
+.I prog
+ The number of the RPC program
+
+.I vers
+ The version number of the RPC program
+
+.I prot
+ The number of the IP protocol
+
+.I authflavor
+ The authentication flavor
+
+.P
+.TP
+.B sunrpc.clnt.clone_client
+Fires when an RPC client structure is to be cloned
+
+.B Arguments:
+
+.I servername
+ The name of the server machine
+
+.I progname
+ The name of the RPC program
+
+.I prog
+ The number of the RPC program
+
+.I vers
+ The version number of the RPC program
+
+.I prot
+ The number of the IP protocol
+
+.I authflavor
+ The authentication flavor
+
+.P
+.TP
+.B sunrpc.clnt.shutdown_client
+Fires when an RPC client is to be shut down
+
+.B Arguments
+
+.I servername
+ The name of the server machine
+
+.I progname
+ The name of the RPC program
+
+.I prog
+ The number of the RPC program
+
+.I vers
+ The version number of the RPC program
+
+.I prot
+ The number of the IP protocol
+
+.I authflavor
+ The authentication flavor
+
+.I clones
+ The number of clones
+
+.I tasks
+ The number of references
+
+.I netreconn
+ The count of reconnections
+
+.I rpccnt
+ The count of RPC calls
+
+.I om_ops
+ The count of operations
+
+.I om_ntrans
+ The count of RPC transmissions
+
+.I om_bytes_sent
+ The count of bytes out
+
+.I om_bytes_recv
+ The count of bytes in
+
+.I om_queue
+ The jiffies queued for transmission
+
+.I om_rtt
+ The RPC RTT jiffies
+
+.I om_execution
+ The RPC execution jiffies
+
+.P
+.TP
+.B sunrpc.clnt.bind_new_program
+Fires when a new RPC program is to be bound an existing client
+
+.B Arguments
+
+.I servername
+ The name of the server machine
+
+.I old_progname
+ The name of old RPC program
+
+.I old_prog
+ The number of old RPC program
+
+.I old_vers
+ The version of old RPC program
+
+.I progname
+ The name of new RPC program
+
+.I prog
+ The number of new RPC program
+
+.I vers
+ The version of new RPC program
+
+.P
+.TP
+.B sunrpc.clnt.call_sync
+Fires when an RPC procedure is to be called synchronously
+
+.B Arguments
+
+.I servername
+ The name of the server machine
+
+.I progname
+ The name of the RPC program
+
+.I prog
+ The number of the RPC program
+
+.I vers
+ The version number of the RPC program
+
+.I prot
+ The number of the IP protocol
+
+.I port
+ The port number
+
+.I xid
+ Current transmission id
+
+.I dead
+ Whether this client is abandoned
+
+.I procname
+ The procedure name in this RPC call
+
+.I proc
+ The procedure number in this RPC call
+
+.I flags
+ The flags of this RPC call
+
+.P
+.TP
+.B sunrpc.clnt.call_async
+Fires when an RPC procedure is to be called asynchronously
+
+.B Arguments
+
+.I servername
+ The name of the server machine
+
+.I progname
+ The name of the RPC program
+
+.I prog
+ The number of the RPC program
+
+.I vers
+ The version number of the RPC program
+
+.I prot
+ The number of the IP protocol
+
+.I port
+ The port number
+
+.I xid
+ Current transmission id
+
+.I dead
+ Whether this client is abandoned
+
+.I procname
+ The procedure name in this RPC call
+
+.I proc
+ The procedure number in this RPC call
+
+.I flags
+ The flags of this RPC call
+
+.P
+.TP
+.B sunrpc.clnt.restart_call
+Fires when an (async) RPC client is to be restarted
+
+.B Arguments
+
+.I servername
+ The name of the server machine
+
+.I prog
+ The number of the RPC program
+
+.I xid
+ The transmission id
+
+.I tk_pid
+ The debugging aid of this task
+
+.I tk_flags
+ The task flags
+
+.I tk_priority
+ The task priority
+
+.I tk_runstate
+ The task run status
+
+.P
+.TP
+.B sunrpc.svc.register
+Fires when an RPC service is to be registered with the local portmapper.
+If proto and port == 0, it means to unregister a service.
+
+.B Arguments
+
+.I sv_name
+ The name of the service
+
+.I progname
+ The name of the RPC program
+
+.I prog
+ The number of the RPC program
+
+.I prot
+ The number of the IP protocol
+
+.I port
+ The port number
+
+.P
+.TP
+.B sunrpc.svc.create
+Fires when an RPC service is to be created
+
+.B Arguments
+
+.I progname
+ The name of the RPC program
+
+.I prog
+ The number of the RPC program
+
+.I pg_nvers
+ The total of the supported versions
+
+.I bufsize
+ The buffer size
+
+.P
+.TP
+.B sunrpc.svc.destroy
+Fires when an RPC client is to be destroyed
+
+.B Arguments
+
+.I sv_name
+ The service name
+
+.I sv_progname
+ The name of the program
+
+.I sv_prog
+ The number of the program
+
+.I sv_nrthreads
+ The number of concurrent threads
+
+.I netcnt
+ The count of received RPC requests
+
+.I nettcpconn
+ The count of accepted TCP connections
+
+.I rpccnt
+ The count of valid RPC requests
+
+.I rpcbadfmt
+ The count of requests dropped for bad formats
+
+.I rpcbadauth
+ The count of requests drooped for authentication failure
+
+.P
+.TP
+.B sunrpc.svc.process
+Fires when an RPC client is to be processed
+
+.B Arguments
+
+.I sv_name
+ The service name
+
+.I sv_prog
+ The number of the program
+
+.I sv_nrthreads
+ The number of concurrent threads
+
+.I peer_ip
+ The peer address where the request is from
+
+.I rq_xid
+ The transmission id in the request
+
+.I rq_prog
+ The program number in the request
+
+.I rq_vers
+ The program version in the request
+
+.I rq_proc
+ The procedure number in the request
+
+.I rq_prot
+ The IP protocol of the reqeust
+
+.P
+.TP
+.B sunrpc.svc.authorise
+Fires when an RPC client is to be authorised
+
+.B Arguments
+
+.I sv_name
+ The service name
+
+.I peer_ip
+ The peer address where the request is from
+
+.I rq_xid
+ The transmission id in the request
+
+.I rq_prog
+ The program number in the request
+
+.I rq_vers
+ The program version in the request
+
+.I rq_proc
+ The procedure number in the request
+
+.I rq_prot
+ The IP protocol of the reqeust
+
+.P
+.TP
+.B sunrpc.svc.recv
+Fires when the server is to receive the next request on any socket
+
+.B Arguments
+
+.I sv_name
+ The service name
+
+.I sv_prog
+ The number of the program
+
+.I sv_nrthreads
+ The number of concurrent threads
+
+.I timeout
+ The timeout of waiting for data
+
+.P
+.TP
+.B sunrpc.svc.send
+Fires when want to return reply to client
+
+.B Arguments
+
+.I sv_name
+ The service name
+
+.I peer_ip
+ The peer address where the request is from
+
+.I rq_xid
+ The transmission id in the request
+
+.I rq_prog
+ The program number in the request
+
+.I rq_vers
+ The program version in the request
+
+.I rq_proc
+ The procedure number in the request
+
+.I rq_prot
+ The IP protocol of the reqeust
+
+.P
+.TP
+.B sunrpc.svc.drop
+Fires when a request is to be dropped
+
+.B Arguments
+
+.I sv_name
+ The service name
+
+.I peer_ip
+ The peer address where the request is from
+
+.I rq_xid
+ The transmission id in the request
+
+.I rq_prog
+ The program number in the request
+
+.I rq_vers
+ The program version in the request
+
+.I rq_proc
+ The procedure number in the request
+
+.I rq_prot
+ The IP protocol of the reqeust
+
+.P
+.TP
+.B sunrpc.sched.new_task
+Fires when a new task is to be created for the specified client
+
+.B Arguments
+.I xid
+ The transmission id in the RPC call
+
+.I prog
+ The program number in the RPC call
+
+.I vers
+ The program version in the RPC call
+
+.I prot
+ The IP protocol in the RPC call
+
+.I tk_flags
+ The flags of the task
+
+.P
+.TP
+.B sunrpc.sched.release_task
+Fires when all resources associated with a task are to be released
+
+.B Arguments
+
+.I xid
+ The transmission id in the RPC call
+
+.I prog
+ The program number in the RPC call
+
+.I vers
+ The program version in the RPC call
+
+.I prot
+ The IP protocol in the RPC call
+
+.I tk_flags
+ The flags of the task
+
+.P
+.TP
+.B sunrpc.sched.execute
+Fires when the RPC `scheduler'(or rather, the finite state machine)
+is to be executed
+
+.B Arguments
+
+.I xid
+ The transmission id in the RPC call
+
+.I prog
+ The program number in the RPC call
+
+.I vers
+ The program version in the RPC call
+
+.I prot
+ The IP protocol in the RPC call
+
+.I tk_pid
+ The debugging id of the task
+
+.I tk_flags
+ The flags of the task
+
+.P
+.TP
+.B sunrpc.sched.delay
+Fires when a task is to be delayed
+
+.B Arguments
+
+.I xid
+ The transmission id in the RPC call
+
+.I prog
+ The program number in the RPC call
+
+.I vers
+ The program version in the RPC call
+
+.I prot
+ The IP protocol in the RPC call
+
+.I tk_pid
+ The debugging id of the task
+
+.I tk_flags
+ The flags of the task
+
+.I delay
+ The time delayed
+
+.SH SEE ALSO
+.IR stap (1),
+.IR stapprobes (5),
+.IR lket (5)
+
diff --git a/man/stapprobes.scsi.5.in b/man/stapprobes.scsi.5.in
new file mode 100644
index 00000000..b88b8c4c
--- /dev/null
+++ b/man/stapprobes.scsi.5.in
@@ -0,0 +1,152 @@
+.\" -*- nroff -*-
+.TH STAPPROBES.SCSI 5 @DATE@ "IBM"
+.SH NAME
+stapprobes.scsi \- systemtap scsi probe points
+
+.\" macros
+.de SAMPLE
+.br
+.RS
+.nf
+.nh
+..
+.de ESAMPLE
+.hy
+.fi
+.RE
+..
+
+.SH DESCRIPTION
+
+This family of probe points is used to probe the SCSI activities.
+It contains the following probe points:
+
+.P
+.TP
+.B scsi.ioentry
+Fires when SCSI mid layer prepares a SCSI request
+
+.B Arguments:
+
+.I disk_major
+ The major number of the disk
+
+.I disk_minor
+ The minor number of the disk
+
+.I device_state
+ The current state of the device. The possible values could be:
+
+ SDEV_CREATED = 1, /* device created but not added to sysfs
+ * Only internal commands allowed (for inq) */
+ SDEV_RUNNING = 2, /* device properly configured
+ * All commands allowed */
+ SDEV_CANCEL = 3, /* beginning to delete device
+ * Only error handler commands allowed */
+ SDEV_DEL = 4, /* device deleted
+ * no commands allowed */
+ SDEV_QUIESCE = 5, /* Device quiescent. No block commands
+ * will be accepted, only specials (which
+ * originate in the mid-layer) */
+ SDEV_OFFLINE = 6, /* Device offlined (by error handling or
+ * user request */
+ SDEV_BLOCK = 7, /* Device blocked by scsi lld. No scsi
+ * commands from user or midlayer should be issued
+ * to the scsi lld. */
+
+.P
+.TP
+.B scsi.iodispatching
+Fires when the SCSI mid layer dispatches a SCSI command to the low level driver
+
+.B Arguments:
+
+.I host_no
+ The host number
+
+.I channel
+ The channel number
+
+.I lun
+ The lun number
+
+.I dev_id
+ The scsi device id
+
+.I device_state
+ The current state of the device.
+
+.I data_direction
+ The data_direction specifies whether this command is from/to the device.
+ The possible values could be:
+
+ DMA_BIDIRECTIONAL = 0,
+ DMA_TO_DEVICE = 1,
+ DMA_FROM_DEVICE = 2,
+ DMA_NONE = 3,
+
+.I request_buffer
+ The request buffer address
+
+.I req_bufflen
+ The request buffer length
+
+.P
+.TP
+.B scsi.iodone
+Fires when a SCSI command is done by low level driver and enqueued into the done queue.
+
+.B Arguments:
+
+.I host_no
+ The host number
+
+.I channel
+ The channel number
+
+.I lun
+ The lun number
+
+.I dev_id
+ The scsi device id
+
+.I device_state
+ The current state of the device
+
+.I data_direction
+ The data_direction specifies whether this command is from/to the device.
+
+.P
+.TP
+.B scsi.iocompleted
+Fires when SCSI mid layer runs the completion processing for
+block device I/O requests
+
+.B Arguments:
+
+.I host_no
+ The host number
+
+.I channel
+ The channel number
+
+.I lun
+ The lun number
+
+.I dev_id
+ The scsi device id
+
+.I device_state
+ The current state of the device
+
+.I data_direction
+ The data_direction specifies whether this command is from/to the device.
+
+.I goodbytes
+ The bytes completed.
+
+.SH SEE ALSO
+.IR stap (1),
+.IR stapprobes (5),
+.IR lket (5)
+
diff --git a/man/stapprobes.signal.5.in b/man/stapprobes.signal.5.in
new file mode 100644
index 00000000..7a1f16ee
--- /dev/null
+++ b/man/stapprobes.signal.5.in
@@ -0,0 +1,447 @@
+.\" -*- nroff -*-
+.TH STAPPROBES.SIGNAL 5 @DATE@ "IBM"
+.SH NAME
+stapprobes.signal \- systemtap signal probe points
+
+.\" macros
+.de SAMPLE
+.br
+.RS
+.nf
+.nh
+..
+.de ESAMPLE
+.hy
+.fi
+.RE
+..
+
+.SH DESCRIPTION
+
+This family of probe points is used to probe signal activities.
+It contains the following probe points:
+
+.P
+.TP
+.B signal.send
+
+Fires when a signal is sent to a process
+
+.B Arguments:
+
+.I sig
+ signal number
+
+.I sig_name
+ a string representation of the signal
+
+.I sig_pid
+ pid of the signal recipient process
+
+.I pid_name
+ name of the signal recipient process
+
+.I si_code
+ indicates the signal type
+
+.I task
+ a task handle to the signal recipient
+
+.I sinfo
+ the address of siginfo struct
+
+.I shared
+ indicates whether this signal is shared by the thread group
+
+.I send2queue
+ indicates whether this signal is sent to an existing sigqueue
+
+.I name
+ name of the function used to send out this signal
+
+.P
+.TP
+.B signal.send.return
+
+Fires when return from sending a signal
+
+.B Arguments:
+
+.I retstr
+ the return value
+
+ Return values for "__group_send_sig_info" and "specific_send_sig_info"
+
+.RS
+.RS
+- return 0 if the signal is sucessfully sent to a process,
+which means the following:
+
+<1> the signal is ignored by receiving process
+
+<2> this is a non-RT signal and we already have one queued
+
+<3> the signal is successfully added into the sigqueue of receiving process
+
+- return \-EAGAIN if the sigqueue is overflow the signal was RT and sent
+by user using something other than kill()
+.RE
+
+ Return values for "send_group_sigqueue"
+
+.RS
+- return 0 if the signal is either sucessfully added into the
+sigqueue of receiving process or a SI_TIMER entry is already
+queued so just increment the overrun count
+
+- return 1 if this signal is ignored by receiving process
+.RE
+
+ Return values for "send_sigqueue"
+
+.RS
+- return 0 if the signal is either sucessfully added into the
+sigqueue of receiving process or a SI_TIMER entry is already
+queued so just increment the overrun count
+
+- return 1 if this signal is ignored by receiving process
+
+- return \-1 if the task is marked exiting, so posix_timer_event
+can redirect it to the group leader
+.RE
+
+.I shared
+ indicates whether this signal is shared by the thread group
+
+.I send2queue
+ indicates whether this signal is sent to an existing sigqueue
+
+.I name
+ name of the function used to send out this signal
+
+
+.RE
+.RE
+.P
+.TP
+.B signal.checkperm
+
+Fires when check permissions for sending the signal
+
+.B Arguments:
+
+.I sig
+ the number of the signal
+
+.I sig_name
+ a string representation of the signal
+
+.I sig_pid
+ pid of the signal recipient process
+
+.I pid_name
+ name of the signal recipient process
+
+.I si_code
+ indicates the signal type
+
+.I task
+ a task handle to the signal recipient
+
+.I sinfo
+ the address of siginfo struct
+
+.I name
+ name of the probe point, is set to "signal.checkperm"
+
+.P
+.TP
+.B signal.checkperm.return
+
+Fires when return from permissions check for sending a signal
+
+.B Arguments:
+
+.I retstr
+ the return value
+
+.I name
+ name of the probe point, is set to "signal.checkperm"
+
+.P
+.TP
+.B signal.wakeup
+
+Fires when wake up the process for new active signals
+
+.B Arguments:
+
+.I sig_pid
+ pid of the process to be woke up
+
+.I pid_name
+ name of the process to be woke up
+
+.I resume
+ indicate whether to wake up a task in STOPPED or TRACED state
+
+.I state_mask
+ a string representation indicate the mask of task states
+that can be woken. Possible values are
+(TASK_INTERRUPTIBLE|TASK_STOPPED|TASK_TRACED) and
+TASK_INTERRUPTIBLE.
+
+.P
+.TP
+.B signal.check_ignored
+
+Fires when check whether the signal is ignored or not
+
+.B Arguments:
+
+.I sig_pid
+ pid of the signal recipient process
+
+.I pid_name
+ name of the signal recipient process
+
+.I sig
+ the signal to be checked
+
+.I sig_name
+ name of the signal
+
+.P
+.TP
+.B signal.check_ignored.return
+
+Fires when return from signal.check_ignored
+
+.B Arguments:
+
+.I retstr
+ return value. 0 indicate the current signal isn't ignored.
+
+.P
+.TP
+.B signal.force_segv
+
+Forces SIGSEGV when there are some issues while handling
+signals for the process
+
+.B Arguments:
+
+.I sig_pid
+ pid of the signal recipient process
+
+.I pid_name
+ name of the signal recipient process
+
+.I sig
+ the signal being handled
+
+.I sig_name
+ name of this signal
+
+.P
+.TP
+.B signal.force_segv.return
+
+Fires when return from signal.force_segv
+
+.B Arguments:
+
+.I retstr
+ return value. Always return 0
+
+.P
+.TP
+.B signal.send_sig_queue
+
+Fires when queue a signal to a process
+
+.B Arguments:
+
+.I sig
+ the signal to be queued
+
+.I sig_name
+ name of this signal
+
+.I sig_pid
+ pid of the process to which the signal is queued
+
+.I pid_name
+ name of the process to which the signal is queued
+
+.I sigqueue_addr
+ address of the signal queue
+
+.P
+.TP
+.B signal.send_sig_queue.return
+
+Fires when return from signal.send_sig_queue
+
+.B Arguments:
+
+.I retstr
+ return value
+
+.P
+.TP
+.B signal.pending
+
+Fires when examine the set of signals that are
+pending for delivery to the calling thread
+
+.B Arguments:
+
+.I sigset_add
+ address of user space sigset_t
+
+.I sigset_size
+ sigset size
+
+.P
+.TP
+.B signal.pending.return
+
+Fires when return from signal.pending
+
+.B Arguments:
+
+.I retstr
+ return value
+
+.P
+.TP
+.B signal.handle
+
+Fires when invoking the signal handler
+
+.B Arguments:
+
+.I sig
+ signal number
+
+.I sig_name
+ signal name
+
+.I sinfo
+ address of siginfo struct
+
+.I sig_code
+ the si_code of siginfo
+
+.I ka_addr
+ Address of the k_sigaction struct associated with the signal
+
+.I oldset_addr
+ Address of a bit mask array of blocked signals
+
+.I sig_mode
+ indicates whether the signal is a User Mode or Kernel mode Signal
+
+.P
+.TP
+.B signal.handle.return
+
+Fires when return from signal.handle
+
+.B Arguments:
+
+.I retstr
+ return value of handle_signal()
+
+.P
+.TP
+.B signal.do_action
+
+Fires by calling thread to examine and change a signal action
+
+.B Arguments:
+
+.I sig
+ signal number
+
+.I sigact_addr
+ address of the new sigaction struct associated with the signal
+
+.I oldsigact_addr
+ address of a previous sigaction struct associated with the signal
+
+.I sa_handler
+ the new handler of the signal
+
+.I sa_mask
+ the new mask of the signal
+
+.P
+.TP
+.B signal.do_action.return
+
+Fires when return from signal.do_action
+
+.B Arguments:
+
+.I retstr
+ return value of do_sigaction()
+
+.P
+.TP
+.B signal.procmask
+
+Fires by calling thread to examine and change blocked signals
+
+.B Arguments:
+
+.I how
+ indicates how to change the blocked signals.
+ Possible values are:
+ SIG_BLOCK=0 for blocking signals
+ SIG_UNBLOCK=1 for unblocking signals
+ SIG_SETMASK=2 for setting the signal mask
+
+.I sigset_addr
+ address of sigset_t to be set
+
+.I oldsigset_addr
+ address of the old sigset_t
+
+.I sigset
+ the actual sigset to be set
+
+.P
+.TP
+.B signal.procmask.return
+
+Fires when return from signal.procmask
+
+.B Arguments:
+
+.I retstr
+ return value of sigprocmask()
+
+.P
+.TP
+.B signal.flush
+
+Fires when flush all pending signals for a task
+
+.B Arguments:
+
+.I task
+ the task handler of the process
+
+.I sig_pid
+ pid of the task
+
+.I pid_name
+ name of the task
+
+.SH SEE ALSO
+.IR stap (1),
+.IR stapprobes (5),
+.IR lket (5)
+
diff --git a/man/stapprobes.tcp.5.in b/man/stapprobes.tcp.5.in
new file mode 100644
index 00000000..caf67f67
--- /dev/null
+++ b/man/stapprobes.tcp.5.in
@@ -0,0 +1,103 @@
+.\" -*- nroff -*-
+.TH STAPPROBES.TCP 5 @DATE@ "IBM, Intel"
+.SH NAME
+stapprobes.tcp \- systemtap tcp probe points
+
+.\" macros
+.de SAMPLE
+.br
+.RS
+.nf
+.nh
+..
+.de ESAMPLE
+.hy
+.fi
+.RE
+..
+
+.SH DESCRIPTION
+
+This family of probe points is used to probe TCP layer activities.
+It contains the following probe points:
+
+.P
+.TP
+.B tcp.sendmsg
+
+Fires whenever sending a tcp message
+
+.B Arguments:
+
+.I sock
+ network socket
+
+.I size
+ number of bytes to send
+
+.P
+.TP
+.B tcp.sendmsg.return
+
+Fires whenever sending message is done
+
+.B Arguments:
+
+.I size
+ number of bytes sent
+
+.P
+.TP
+.B tcp.recvmsg
+
+Fires whenever a message is received
+
+.B Arguments:
+
+.I sock
+ network socket
+
+.I size
+ number of bytes to be received
+
+.P
+.TP
+.B tcp.recvmsg.return
+
+Fires whenever message receiving is done
+
+.B Arguments:
+
+.I size
+ number of bytes received
+
+.P
+.TP
+.B tcp.disconnect
+
+Fires whenever tcp is disconnected
+
+.B Arguments:
+
+.I sock
+ network socket
+
+.I flags
+ TCP flags (e.g. FIN, etc)
+
+.P
+.TP
+.B tcp.disconnect.return
+
+Fires when returning from tcp.disconnect
+
+.B Arguments:
+
+.I ret
+ error code (0: no error)
+
+.SH SEE ALSO
+.IR stap (1),
+.IR stapprobes (5),
+.IR lket (5)
+
diff --git a/man/stapprobes.udp.5.in b/man/stapprobes.udp.5.in
new file mode 100644
index 00000000..d8b100c8
--- /dev/null
+++ b/man/stapprobes.udp.5.in
@@ -0,0 +1,103 @@
+.\" -*- nroff -*-
+.TH STAPPROBES.UDP 5 @DATE@ "Intel"
+.SH NAME
+stapprobes.udp \- systemtap udp probe points
+
+.\" macros
+.de SAMPLE
+.br
+.RS
+.nf
+.nh
+..
+.de ESAMPLE
+.hy
+.fi
+.RE
+..
+
+.SH DESCRIPTION
+
+This family of probe points is used to probe UDP layer activities.
+It contains the following probe points:
+
+.P
+.TP
+.B udp.sendmsg
+
+Fires whenever sending a udp message
+
+.B Arguments:
+
+.I sock
+ network socket
+
+.I size
+ number of bytes to send
+
+.P
+.TP
+.B udp.sendmsg.return
+
+Fires whenever sending message is done
+
+.B Arguments:
+
+.I size
+ number of bytes sent
+
+.P
+.TP
+.B udp.recvmsg
+
+Fires whenever a message is received
+
+.B Arguments:
+
+.I sock
+ network socket
+
+.I size
+ number of bytes to be received
+
+.P
+.TP
+.B udp.recvmsg.return
+
+Fires whenever message receiving is done
+
+.B Arguments:
+
+.I size
+ number of bytes received
+
+.P
+.TP
+.B udp.disconnect
+
+Fires whenever udp is disconnected
+
+.B Arguments:
+
+.I sock
+ network socket
+
+.I flags
+ flags (e.g. FIN, etc)
+
+.P
+.TP
+.B udp.disconnect.return
+
+Fires when returning from udp.disconnect
+
+.B Arguments:
+
+.I ret
+ error code (0: no error)
+
+.SH SEE ALSO
+.IR stap (1),
+.IR stapprobes (5),
+.IR lket (5)
+
diff --git a/stapprobes.5.in b/stapprobes.5.in
index b40f21ae..1b892036 100644
--- a/stapprobes.5.in
+++ b/stapprobes.5.in
@@ -268,933 +268,6 @@ read_counter
is a function that is passed the handle for the perfmon probe and returns
the current count for the event.
-
-.SS IO SCHEDULER
-
-This family of probe points is used to probe the IO scheduler activities.
-It contains the following probe points:
-
-.P
-.TP
-.B ioscheduler.elv_next_request
-Fires when a request is retrieved from request queue
-
-.B Arguments:
-
-.I elevator_name
- The name of the elevator
-
-.I disk_major
- The major number of the disk
-
-.I disk_minor
- The minor number of the disk
-
-.P
-.TP
-.B ioscheduler.elv_add_request
-Fires when a request is added to the request queue
-
-.B Arguments:
-
-.I elevator_name
- The name of the elevator
-
-.I disk_major
- The major number of the disk
-
-.I disk_minor
- The minor number of the disk
-
-.P
-.TP
-.B ioscheduler.elv_completed_request
-Fires when a request is completed
-
-.B Arguments:
-
-.I elevator_name
- The name of the elevator
-
-.I disk_major
- The major number of the disk
-
-.I disk_minor
- The minor number of the disk
-
-.SS SCSI
-
-This family of probe points is used to probe the SCSI activities.
-It contains the following probe points:
-
-.P
-.TP
-.B scsi.ioentry
-Fires when SCSI mid layer prepares a SCSI request
-
-.B Arguments:
-
-.I disk_major
- The major number of the disk
-
-.I disk_minor
- The minor number of the disk
-
-.I device_state
- The current state of the device. The possible values could be:
-
- SDEV_CREATED = 1, /* device created but not added to sysfs
- * Only internal commands allowed (for inq) */
- SDEV_RUNNING = 2, /* device properly configured
- * All commands allowed */
- SDEV_CANCEL = 3, /* beginning to delete device
- * Only error handler commands allowed */
- SDEV_DEL = 4, /* device deleted
- * no commands allowed */
- SDEV_QUIESCE = 5, /* Device quiescent. No block commands
- * will be accepted, only specials (which
- * originate in the mid-layer) */
- SDEV_OFFLINE = 6, /* Device offlined (by error handling or
- * user request */
- SDEV_BLOCK = 7, /* Device blocked by scsi lld. No scsi
- * commands from user or midlayer should be issued
- * to the scsi lld. */
-
-.P
-.TP
-.B scsi.iodispatching
-Fires when the SCSI mid layer dispatches a SCSI command to the low level driver
-
-.B Arguments:
-
-.I host_no
- The host number
-
-.I channel
- The channel number
-
-.I lun
- The lun number
-
-.I dev_id
- The scsi device id
-
-.I device_state
- The current state of the device.
-
-.I data_direction
- The data_direction specifies whether this command is from/to the device.
- The possible values could be:
-
- DMA_BIDIRECTIONAL = 0,
- DMA_TO_DEVICE = 1,
- DMA_FROM_DEVICE = 2,
- DMA_NONE = 3,
-
-.I request_buffer
- The request buffer address
-
-.I req_bufflen
- The request buffer length
-
-.P
-.TP
-.B scsi.iodone
-Fires when a SCSI command is done by low level driver and enqueued into the done queue.
-
-.B Arguments:
-
-.I host_no
- The host number
-
-.I channel
- The channel number
-
-.I lun
- The lun number
-
-.I dev_id
- The scsi device id
-
-.I device_state
- The current state of the device
-
-.I data_direction
- The data_direction specifies whether this command is from/to the device.
-
-.P
-.TP
-.B scsi.iocompleted
-Fires when SCSI mid layer runs the completion processing for
-block device I/O requests
-
-.B Arguments:
-
-.I host_no
- The host number
-
-.I channel
- The channel number
-
-.I lun
- The lun number
-
-.I dev_id
- The scsi device id
-
-.I device_state
- The current state of the device
-
-.I data_direction
- The data_direction specifies whether this command is from/to the device.
-
-.I goodbytes
- The bytes completed.
-
-
-.SS NETWORK DEVICE
-
-This family of probe points is used to probe the activities of network
-device.
-It contains the following probe points:
-
-.P
-.TP
-.B netdev.receive
-Fires when data arrives on network device
-
-.B Arguments:
-
-.I dev_name
- The name of the device. e.g: eth0, ath1
-
-.I length
- The length of the receiving buffer
-
-.I protocol
- The possible values of protocol could be:
- 0800 IP
- 8100 802.1Q VLAN
- 0001 802.3
- 0002 AX.25
- 0004 802.2
- 8035 RARP
- 0005 SNAP
- 0805 X.25
- 0806 ARP
- 8137 IPX
- 0009 Localtalk
- 86DD IPv6
-
-.I truesize
- The size of the received data
-
-.P
-.TP
-.B netdev.transmit
-Fires when the network device wants to transmit a buffer
-
-.B Arguments:
-
-.I dev_name
- The name of the device. e.g: eth0, ath1
-
-.I length
- The length of the transmit buffer
-
-.I protocol
- The protocol of this packet.
-
-.I truesize
- The size of the the data to be transmitted.
-
-.SS PAGE FAULT
-
-This family of probe points is used to probe page fault events.
-It contains the following probe points:
-
-.P
-.TP
-.B vm.pagefault
-Fires when there is a pagefault
-
-.B Arguments:
-
-.I address
- The address caused this page fault.
-
-.I write_access
- 1 means this is a write access and 0 means this is a read access
-
-.SS PROCESS
-
-This family of probe points is used to probe the process activities.
-It contains the following probe points:
-
-.P
-.TP
-.B process.create
-
-Fires whenever a new process is successfully created, either as a
-result of one of the fork syscall variants, or a new kernel thread.
-
-.B Arguments:
-
-.I task
- a handle to the newly created process
-
-.I new_pid
- pid of the newly created process
-
-.P
-.TP
-.B process.start
-
-Fires immediately before a new process begins execution.
-
-.B Arguments:
-
-.I N/A
-
-.P
-.TP
-.B process.exec
-
-Fires whenever a process attempts to exec to a new program
-
-.B Arguments:
-
-.I filename
- the path to the new executable
-
-.P
-.TP
-.B process.exec_complete
-
-Fires at the completion of an exec call
-
-.B Arguments:
-
-.I errno
- the error number resulting from the exec
-
-.I success
- a boolean indicating whether the exec was successful
-
-.P
-.TP
-.B process.exit
-
-Fires when a process terminates. This will always be followed by a
-process.release, though the latter may be delayed if the process
-waits in a zombie state.
-
-.B Arguments:
-
-.I code
- the exit code of the process
-
-.P
-.TP
-.B process.release
-
-Fires when a process is released from the kernel. This always
-follows a process.exit, though it may be delayed somewhat if the
-process waits in a zombie state.
-
-.B Arguments:
-
-.I task
- a task handle to the process being released
-
-.I pid
- pid of the process being released
-
-.SS TCP
-
-This family of probe points is used to probe TCP layer activities.
-It contains the following probe points:
-
-.P
-.TP
-.B tcp.sendmsg
-
-Fires whenever sending a tcp message
-
-.B Arguments:
-
-.I sock
- network socket
-
-.I size
- number of bytes to send
-
-.P
-.TP
-.B tcp.sendmsg.return
-
-Fires whenever sending message is done
-
-.B Arguments:
-
-.I size
- number of bytes sent
-
-.P
-.TP
-.B tcp.recvmsg
-
-Fires whenever a message is received
-
-.B Arguments:
-
-.I sock
- network socket
-
-.I size
- number of bytes to be received
-
-.P
-.TP
-.B tcp.recvmsg.return
-
-Fires whenever message receiving is done
-
-.B Arguments:
-
-.I size
- number of bytes received
-
-.P
-.TP
-.B tcp.disconnect
-
-Fires whenever tcp is disconnected
-
-.B Arguments:
-
-.I sock
- network socket
-
-.I flags
- TCP flags (e.g. FIN, etc)
-
-.P
-.TP
-.B tcp.disconnect.return
-
-Fires when returning from tcp.disconnect
-
-.B Arguments:
-
-.I ret
- error code (0: no error)
-
-
-.SS UDP
-
-This family of probe points is used to probe UDP layer activities.
-It contains the following probe points:
-
-.P
-.TP
-.B udp.sendmsg
-
-Fires whenever sending a udp message
-
-.B Arguments:
-
-.I sock
- network socket
-
-.I size
- number of bytes to send
-
-.P
-.TP
-.B udp.sendmsg.return
-
-Fires whenever sending message is done
-
-.B Arguments:
-
-.I size
- number of bytes sent
-
-.P
-.TP
-.B udp.recvmsg
-
-Fires whenever a message is received
-
-.B Arguments:
-
-.I sock
- network socket
-
-.I size
- number of bytes to be received
-
-.P
-.TP
-.B udp.recvmsg.return
-
-Fires whenever message receiving is done
-
-.B Arguments:
-
-.I size
- number of bytes received
-
-.P
-.TP
-.B udp.disconnect
-
-Fires whenever udp is disconnected
-
-.B Arguments:
-
-.I sock
- network socket
-
-.I flags
- flags (e.g. FIN, etc)
-
-.P
-.TP
-.B udp.disconnect.return
-
-Fires when returning from udp.disconnect
-
-.B Arguments:
-
-.I ret
- error code (0: no error)
-
-.SS SIGNAL
-
-This family of probe points is used to probe signal activities.
-It contains the following probe points:
-
-.P
-.TP
-.B signal.send
-
-Fires when a signal is sent to a process
-
-.B Arguments:
-
-.I sig
- signal number
-
-.I sig_name
- a string representation of the signal
-
-.I sig_pid
- pid of the signal recipient process
-
-.I pid_name
- name of the signal recipient process
-
-.I si_code
- indicates the signal type
-
-.I task
- a task handle to the signal recipient
-
-.I sinfo
- the address of siginfo struct
-
-.I shared
- indicates whether this signal is shared by the thread group
-
-.I send2queue
- indicates whether this signal is sent to an existing sigqueue
-
-.I name
- name of the function used to send out this signal
-
-.P
-.TP
-.B signal.send.return
-
-Fires when return from sending a signal
-
-.B Arguments:
-
-.I retstr
- the return value
-
- Return values for "__group_send_sig_info" and "specific_send_sig_info"
-
-.RS
-.RS
-- return 0 if the signal is sucessfully sent to a process,
-which means the following:
-
-<1> the signal is ignored by receiving process
-
-<2> this is a non-RT signal and we already have one queued
-
-<3> the signal is successfully added into the sigqueue of receiving process
-
-- return \-EAGAIN if the sigqueue is overflow the signal was RT and sent
-by user using something other than kill()
-.RE
-
- Return values for "send_group_sigqueue"
-
-.RS
-- return 0 if the signal is either sucessfully added into the
-sigqueue of receiving process or a SI_TIMER entry is already
-queued so just increment the overrun count
-
-- return 1 if this signal is ignored by receiving process
-.RE
-
- Return values for "send_sigqueue"
-
-.RS
-- return 0 if the signal is either sucessfully added into the
-sigqueue of receiving process or a SI_TIMER entry is already
-queued so just increment the overrun count
-
-- return 1 if this signal is ignored by receiving process
-
-- return \-1 if the task is marked exiting, so posix_timer_event
-can redirect it to the group leader
-.RE
-
-.I shared
- indicates whether this signal is shared by the thread group
-
-.I send2queue
- indicates whether this signal is sent to an existing sigqueue
-
-.I name
- name of the function used to send out this signal
-
-
-.RE
-.RE
-.P
-.TP
-.B signal.checkperm
-
-Fires when check permissions for sending the signal
-
-.B Arguments:
-
-.I sig
- the number of the signal
-
-.I sig_name
- a string representation of the signal
-
-.I sig_pid
- pid of the signal recipient process
-
-.I pid_name
- name of the signal recipient process
-
-.I si_code
- indicates the signal type
-
-.I task
- a task handle to the signal recipient
-
-.I sinfo
- the address of siginfo struct
-
-.I name
- name of the probe point, is set to "signal.checkperm"
-
-.P
-.TP
-.B signal.checkperm.return
-
-Fires when return from permissions check for sending a signal
-
-.B Arguments:
-
-.I retstr
- the return value
-
-.I name
- name of the probe point, is set to "signal.checkperm"
-
-.P
-.TP
-.B signal.wakeup
-
-Fires when wake up the process for new active signals
-
-.B Arguments:
-
-.I sig_pid
- pid of the process to be woke up
-
-.I pid_name
- name of the process to be woke up
-
-.I resume
- indicate whether to wake up a task in STOPPED or TRACED state
-
-.I state_mask
- a string representation indicate the mask of task states
-that can be woken. Possible values are
-(TASK_INTERRUPTIBLE|TASK_STOPPED|TASK_TRACED) and
-TASK_INTERRUPTIBLE.
-
-.P
-.TP
-.B signal.check_ignored
-
-Fires when check whether the signal is ignored or not
-
-.B Arguments:
-
-.I sig_pid
- pid of the signal recipient process
-
-.I pid_name
- name of the signal recipient process
-
-.I sig
- the signal to be checked
-
-.I sig_name
- name of the signal
-
-.P
-.TP
-.B signal.check_ignored.return
-
-Fires when return from signal.check_ignored
-
-.B Arguments:
-
-.I retstr
- return value. 0 indicate the current signal isn't ignored.
-
-.P
-.TP
-.B signal.force_segv
-
-Forces SIGSEGV when there are some issues while handling
-signals for the process
-
-.B Arguments:
-
-.I sig_pid
- pid of the signal recipient process
-
-.I pid_name
- name of the signal recipient process
-
-.I sig
- the signal being handled
-
-.I sig_name
- name of this signal
-
-.P
-.TP
-.B signal.force_segv.return
-
-Fires when return from signal.force_segv
-
-.B Arguments:
-
-.I retstr
- return value. Always return 0
-
-.P
-.TP
-.B signal.send_sig_queue
-
-Fires when queue a signal to a process
-
-.B Arguments:
-
-.I sig
- the signal to be queued
-
-.I sig_name
- name of this signal
-
-.I sig_pid
- pid of the process to which the signal is queued
-
-.I pid_name
- name of the process to which the signal is queued
-
-.I sigqueue_addr
- address of the signal queue
-
-.P
-.TP
-.B signal.send_sig_queue.return
-
-Fires when return from signal.send_sig_queue
-
-.B Arguments:
-
-.I retstr
- return value
-
-.P
-.TP
-.B signal.pending
-
-Fires when examine the set of signals that are
-pending for delivery to the calling thread
-
-.B Arguments:
-
-.I sigset_add
- address of user space sigset_t
-
-.I sigset_size
- sigset size
-
-.P
-.TP
-.B signal.pending.return
-
-Fires when return from signal.pending
-
-.B Arguments:
-
-.I retstr
- return value
-
-.P
-.TP
-.B signal.handle
-
-Fires when invoking the signal handler
-
-.B Arguments:
-
-.I sig
- signal number
-
-.I sig_name
- signal name
-
-.I sinfo
- address of siginfo struct
-
-.I sig_code
- the si_code of siginfo
-
-.I ka_addr
- Address of the k_sigaction struct associated with the signal
-
-.I oldset_addr
- Address of a bit mask array of blocked signals
-
-.I sig_mode
- indicates whether the signal is a User Mode or Kernel mode Signal
-
-.P
-.TP
-.B signal.handle.return
-
-Fires when return from signal.handle
-
-.B Arguments:
-
-.I retstr
- return value of handle_signal()
-
-.P
-.TP
-.B signal.do_action
-
-Fires by calling thread to examine and change a signal action
-
-.B Arguments:
-
-.I sig
- signal number
-
-.I sigact_addr
- address of the new sigaction struct associated with the signal
-
-.I oldsigact_addr
- address of a previous sigaction struct associated with the signal
-
-.I sa_handler
- the new handler of the signal
-
-.I sa_mask
- the new mask of the signal
-
-.P
-.TP
-.B signal.do_action.return
-
-Fires when return from signal.do_action
-
-.B Arguments:
-
-.I retstr
- return value of do_sigaction()
-
-.P
-.TP
-.B signal.procmask
-
-Fires by calling thread to examine and change blocked signals
-
-.B Arguments:
-
-.I how
- indicates how to change the blocked signals.
- Possible values are:
- SIG_BLOCK=0 for blocking signals
- SIG_UNBLOCK=1 for unblocking signals
- SIG_SETMASK=2 for setting the signal mask
-
-.I sigset_addr
- address of sigset_t to be set
-
-.I oldsigset_addr
- address of the old sigset_t
-
-.I sigset
- the actual sigset to be set
-
-.P
-.TP
-.B signal.procmask.return
-
-Fires when return from signal.procmask
-
-.B Arguments:
-
-.I retstr
- return value of sigprocmask()
-
-.P
-.TP
-.B signal.flush
-
-Fires when flush all pending signals for a task
-
-.B Arguments:
-
-.I task
- the task handler of the process
-
-.I sig_pid
- pid of the task
-
-.I pid_name
- name of the task
-
.SH EXAMPLES
.PP
Here are some example probe points, defining the associated events.
@@ -1230,5 +303,16 @@ refers to the group of probe aliases with any name in the third position
.SH SEE ALSO
.IR stap (1),
+.IR stapprobes.iosched (5),
+.IR stapprobes.netdev (5),
+.IR stapprobes.nfs (5),
+.IR stapprobes.nfsd (5),
+.IR stapprobes.pagefault (5),
+.IR stapprobes.process (5),
+.IR stapprobes.rpc (5),
+.IR stapprobes.scsi (5),
+.IR stapprobes.signal (5),
+.IR stapprobes.tcp (5),
+.IR stapprobes.udp (5),
.IR lket (5)