public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2 v4] scsi: ftrace based scsi tracer
@ 2010-04-01 11:37 Kei Tokunaga
  2010-04-01 11:40 ` [PATCH 1/2 v4] scsi: add __print_hex() to ftrace Kei Tokunaga
  2010-04-01 11:41 ` [PATCH 2/2 v4] scsi: add scsi trace core functions and put trace points Kei Tokunaga
  0 siblings, 2 replies; 8+ messages in thread
From: Kei Tokunaga @ 2010-04-01 11:37 UTC (permalink / raw)
  To: linux-scsi@vger.kernel.org, James Bottomley, Ingo Molnar,
	Steven Rostedt, Frederic Weisbecker, Martin K. Petersen
  Cc: Tomohiro Kusumi, lkml, Li Zefan, Xiao Guangrong, Kei Tokunaga

Hi,

This is v4 patch series of SCSI trace.  Only a cosmetic change
from v3.

Because it's been a while since the first posting, I'll put brief
descriptions of the patchset.

  Basically, this is a ftrace based SCSI tracer.  It prints the
  following information for scsi-3 commands.

    o scsi bus number ("host")
    o scsi channel number ("channel")
    o scsi id ("id")
    o LUN ("lun")
    o command info
      - op name (ex. "WRITE_10")
      - LBA ("lba") (for certain commands only)
      - transfer length ("txlen") (for certain commands only)
      - CDB (ex. "raw=28 00 03 60 a2 cb 00 00 08 00")
    o result of the command
      (ex. "result=(driver=DRIVER_OK host=DID_OK
message=COMMAND_COMPLETE status=SAM_STAT_GOOD")

  Those information are printed either at a time:

    o when a command is to be dispatched,
    o when a command dispatched returns in error,
    o when a command is done,
    o when an error handler is to waken up, or
    o when timeout of a command is deteced.

  To use it quickly, try these steps:

    1) Build a kernel with the patchset applied
       (ftrace related kernel configs need to be enabled.)
    2) Boot the kernel
    3) Mount debugfs
       ex. mount -t debugfs none /sys/kernel/debug/
    4) Indicate events to trace
       ex. echo "scsi:*" > /sys/kernel/debug/tracing/set_event
    5) Make some I/Os on your scsi devices
       ex. ls
    6) Retrieve trace log
       ex. cat /sys/kernel/debug/tracing/trace

  Here is an outputs example:

    # tracer: nop
    #
    #           TASK-PID    CPU#    TIMESTAMP  FUNCTION
    #              | |       |          |         |
           flush-8:0-3746  [001]  1374.517152:
scsi_dispatch_cmd_start: host_no=0 channel=0 id=0 lun=0
cmnd=(WRITE_10 lba=32267539 txlen=8 raw=2a 00 01 ec 5d 13 00 00
08 00)
              <idle>-0     [000]  1374.524964:
scsi_dispatch_cmd_done: host_no=0 channel=0 id=0 lun=0
cmnd=(WRITE_10 lba=32267539 txlen=8 raw=2a 00 01 ec 5d 13 00 00
08 00) result=(driver=DRIVER_OK host=DID_OK
message=COMMAND_COMPLETE status=SAM_STAT_GOOD)

This patchset applies to 2.6.34-rc3.

Thanks,
Kei


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-04-02  2:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-01 11:37 [PATCH 0/2 v4] scsi: ftrace based scsi tracer Kei Tokunaga
2010-04-01 11:40 ` [PATCH 1/2 v4] scsi: add __print_hex() to ftrace Kei Tokunaga
2010-04-01 13:57   ` Steven Rostedt
2010-04-01 17:03     ` Joe Perches
2010-04-02  2:41       ` Li Zefan
2010-04-02  2:40     ` Li Zefan
2010-04-02  2:50       ` Steven Rostedt
2010-04-01 11:41 ` [PATCH 2/2 v4] scsi: add scsi trace core functions and put trace points Kei Tokunaga

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox