Prev: mm: avoid overflowing preempt_count() in mmu_take_all_locks()
Next: Aw: [PATCH] power/ds2782: fix clientdata on removal
From: Kei Tokunaga on 1 Apr 2010 07:40 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |