From 214d3eca806493162f53b83a9f498b7cdc206e53 Mon Sep 17 00:00:00 2001 From: guanglei Date: Fri, 29 Sep 2006 09:12:15 +0000 Subject: [PATCH] create src/man/stapprobes.*.in for detailed stap probe points. --- ChangeLog | 10 + Makefile.am | 2 +- Makefile.in | 49 +- configure | 13 +- configure.ac | 2 +- man/.cvsignore | 1 + man/stapprobes.iosched.5.in | 152 ++++ man/stapprobes.netdev.5.in | 78 +++ man/stapprobes.nfs.5.in | 1237 +++++++++++++++++++++++++++++++++ man/stapprobes.nfsd.5.in | 514 ++++++++++++++ man/stapprobes.pagefault.5.in | 41 ++ man/stapprobes.process.5.in | 107 +++ man/stapprobes.rpc.5.in | 584 ++++++++++++++++ man/stapprobes.scsi.5.in | 152 ++++ man/stapprobes.signal.5.in | 447 ++++++++++++ man/stapprobes.tcp.5.in | 103 +++ man/stapprobes.udp.5.in | 103 +++ stapprobes.5.in | 938 +------------------------ 18 files changed, 3597 insertions(+), 936 deletions(-) create mode 100644 man/.cvsignore create mode 100644 man/stapprobes.iosched.5.in create mode 100644 man/stapprobes.netdev.5.in create mode 100644 man/stapprobes.nfs.5.in create mode 100644 man/stapprobes.nfsd.5.in create mode 100644 man/stapprobes.pagefault.5.in create mode 100644 man/stapprobes.process.5.in create mode 100644 man/stapprobes.rpc.5.in create mode 100644 man/stapprobes.scsi.5.in create mode 100644 man/stapprobes.signal.5.in create mode 100644 man/stapprobes.tcp.5.in create mode 100644 man/stapprobes.udp.5.in diff --git a/ChangeLog b/ChangeLog index 02a1f0a38..fea614e6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2006-09-29 Li Guanglei + + * 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 PR 3282 diff --git a/Makefile.am b/Makefile.am index 8585fd504..9ce815db1 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 87b7cc7e1..2b0f73f25 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 21915ad95..2a93d07bc 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 8e430c481..08a43e77d 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 000000000..efaf190e1 --- /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 000000000..b88b8c4c4 --- /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 000000000..237f5d74f --- /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 000000000..09b6ad4b9 --- /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 000000000..925384402 --- /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 000000000..175121eb2 --- /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 000000000..99418ea57 --- /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 000000000..f976c76e2 --- /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 000000000..b88b8c4c4 --- /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 000000000..7a1f16ee6 --- /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 000000000..caf67f672 --- /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 000000000..d8b100c89 --- /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 b40f21ae8..1b892036f 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) -- 2.43.5