]> sourceware.org Git - systemtap.git/commitdiff
PR10618: update iostat-scsi.stp for 2.6.31
authorWenji Huang <wenji.huang@oracle.com>
Fri, 11 Sep 2009 05:38:47 +0000 (13:38 +0800)
committerWenji Huang <wenji.huang@oracle.com>
Fri, 11 Sep 2009 05:38:47 +0000 (13:38 +0800)
* testsuite/systemtap.examples/io/iostat-scsi.stp: Add pure function.
* testsuite/systemtap.examples/io/iostat-scsi.meta: Add -g option.

testsuite/systemtap.examples/io/iostat-scsi.meta
testsuite/systemtap.examples/io/iostat-scsi.stp

index 242e740e826f8c07a527555b7f31176478d2abf0..3326f53227cfd208df9c5b0c1946c74b9c6b04b2 100644 (file)
@@ -10,5 +10,5 @@ output: timed
 scope: system-wide
 description: The iostat-scsi.stp script provides a breakdown of the number of blks read and written on the various machines's SCSI devices. The script takes one argument which is the number of seconds between reports.
 test_support: stap -l module("st").function("st_do_scsi")!,kernel.function("st_do_scsi")
-test_check: stap -p4 iostat-scsi.stp 1
-test_installcheck: stap iostat-scsi.stp 1 -c "sleep 1"
+test_check: stap -g -p4 iostat-scsi.stp 1
+test_installcheck: stap -g iostat-scsi.stp 1 -c "sleep 1"
index 8251741df42aaf02d89e7c5d5241f6f444a3946a..f6715a42b2391c90e08eae16adda9bf02a6afc53 100755 (executable)
@@ -20,14 +20,28 @@ probe module("sd_mod").function("sd_init_command") !, kernel.function("sd_init_c
 }
 %:
 
-function get_sector_size:long (data:long) { /* pure */
+function get_sector_size:long (data:long) { 
   return @cast(data, "scsi_device", "kernel<scsi/scsi_device.h>")->sector_size
 }
 
+%(kernel_v>="2.6.31" %?
+%{
+#include <linux/blkdev.h>
+%}
+
+function get_nr_sectors:long(rq:long) %{ /* pure */
+  THIS->__retvalue = blk_rq_sectors((const struct request *)(long)THIS->rq);
+%}
+%)
+
 probe module("sd_mod").function("sd_prep_fn") !, kernel.function("sd_prep_fn") {
   device=kernel_string($rq->rq_disk->disk_name)
   sector_size=get_sector_size($q->queuedata)
+%(kernel_v>="2.6.31" %?
+  nr_sectors=get_nr_sectors($rq)
+%:
   nr_sectors=$rq->nr_sectors
+%)
   devices[device] = 1
   if ($rq->cmd_flags & 1)
     writes[device] <<< nr_sectors * sector_size
This page took 0.029987 seconds and 5 git commands to generate.