summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Cohen <wcohen@redhat.com>2008-11-26 21:26:49 -0500
committerWilliam Cohen <wcohen@redhat.com>2008-11-26 21:26:49 -0500
commitd0f2eabd2bf318502edddc50f60635df5d16c744 (patch)
tree63016dac4267978ef7a0b51a3b16502f443ba104
parent224e23bef7a46c823c4b3d41efdf9dbf98853ed0 (diff)
downloadsystemtap-steved-d0f2eabd2bf318502edddc50f60635df5d16c744.tar.gz
systemtap-steved-d0f2eabd2bf318502edddc50f60635df5d16c744.tar.xz
systemtap-steved-d0f2eabd2bf318502edddc50f60635df5d16c744.zip
Add scsi trace-doc material.
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/SystemTap_Tapset_Reference/tapsets.tmpl8
-rw-r--r--tapset/ChangeLog3
-rw-r--r--tapset/scsi.stp44
4 files changed, 56 insertions, 3 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index e2ad1d80..9f992132 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,5 +1,9 @@
2008-11-26 Will Cohen <wcohen@redhat.com>
+ * SystemTap_Tapset_Reference/tapsets.tmpl: Add scsi.
+
+2008-11-26 Will Cohen <wcohen@redhat.com>
+
* SystemTap_Tapset_Reference/tapsets.am: Correct location for html/man.
* SystemTap_Tapset_Reference/tapsets.in: Regenerate.
diff --git a/doc/SystemTap_Tapset_Reference/tapsets.tmpl b/doc/SystemTap_Tapset_Reference/tapsets.tmpl
index 6c3abd0f..00dcd92f 100644
--- a/doc/SystemTap_Tapset_Reference/tapsets.tmpl
+++ b/doc/SystemTap_Tapset_Reference/tapsets.tmpl
@@ -150,6 +150,14 @@ This is common among
!Itapset/ioscheduler.stp
</chapter>
+ <chapter id="scsi.stp">
+ <title>SCSI Tapset</title>
+ <para>
+ This family of probe points is used to probe the SCSI activities.
+ It contains the following probe points:
+ </para>
+!Itapset/scsi.stp
+ </chapter>
<chapter id="networking.stp">
<title>Networking Tapset</title>
diff --git a/tapset/ChangeLog b/tapset/ChangeLog
index 75e49f75..3ed69cbc 100644
--- a/tapset/ChangeLog
+++ b/tapset/ChangeLog
@@ -1,4 +1,7 @@
2008-11-26 Will Cohen <wcohen@redhat.com>
+ * scsi.stp: Add kernel-doc notation.
+
+2008-11-26 Will Cohen <wcohen@redhat.com>
* process.stp: Add kernel-doc notation.
diff --git a/tapset/scsi.stp b/tapset/scsi.stp
index ed96b430..76b9a114 100644
--- a/tapset/scsi.stp
+++ b/tapset/scsi.stp
@@ -15,7 +15,13 @@
#include <linux/blkdev.h>
%}
-/* mid-layer prepare a IO request */
+/**
+ * probe scsi.ioentry - Prepares a SCSI mid-layer request
+ * @disk_major: The major number of the disk (-1 if no information)
+ * @disk_minor: The minor number of the disk (-1 if no information)
+ * @device_state: The current state of the device.
+ */
+/* FIXME describe the device_state */
probe scsi.ioentry
= module("scsi_mod").function("scsi_prep_fn@drivers/scsi/scsi_lib.c")?,
kernel.function("scsi_prep_fn@drivers/scsi/scsi_lib.c")?
@@ -31,7 +37,19 @@ probe scsi.ioentry
req_addr = $req
}
-/* Dispatch a command to the low-level driver. */
+/**
+ * probe scsi.iodispatching - SCSI mid-layer dispatched low-level SCSI command
+ * @host_no: The host number
+ * @channel: The channel number
+ * @lun: The lun number
+ * @dev_id: The scsi device id
+ * @device_state: The current state of the device.
+ * @data_direction: The data_direction specifies whether this command is from/to
+ * the device. 0 (DMA_BIDIRECTIONAL), 1 (DMA_TO_DEVICE),
+ * 2 (DMA_FROM_DEVICE), 3 (DMA_NONE)
+ * @request_buffer: The request buffer address
+ * @req_bufflen: The request buffer length
+ */
probe scsi.iodispatching
= module("scsi_mod").function("scsi_dispatch_cmd@drivers/scsi/scsi.c")?,
kernel.function("scsi_dispatch_cmd@drivers/scsi/scsi.c")?
@@ -53,7 +71,16 @@ probe scsi.iodispatching
req_addr = $cmd->request
}
-/* I/O is done by low-level driver*/
+/**
+ * probe scsi.iodone - SCSI command completed by low level driver and enqueued into the done queue.
+ * @host_no: The host number
+ * @channel: The channel number
+ * @lun: The lun number
+ * @dev_id: The scsi device id
+ * @device_state: The current state of the device
+ * @data_direction: The data_direction specifies whether this command is
+ * from/to the device.
+ */
probe scsi.iodone
= module("scsi_mod").function("scsi_done@drivers/scsi/scsi.c")?,
kernel.function("scsi_done@drivers/scsi/scsi.c")?
@@ -69,6 +96,17 @@ probe scsi.iodone
scsi_timer_pending = scsi_timer_pending($cmd);
}
+/**
+ * probe scsi.iocompleted - SCSI mid-layer running the completion processing for block device I/O requests
+ * @host_no: The host number
+ * @channel: The channel number
+ * @lun: The lun number
+ * @dev_id: The scsi device id
+ * @device_state: The current state of the device
+ * @data_direction: The data_direction specifies whether this command is from/to
+ * the device
+ * @goodbytes: The bytes completed.
+ */
/* mid-layer processes the completed IO */
probe scsi.iocompleted
= module("scsi_mod").function("scsi_io_completion@drivers/scsi/scsi_lib.c")?,