Date: Sun, 10 Apr 2011 11:56:44 +0000 From: Alexander Best <arundel@freebsd.org> To: Alexander Motin <mav@FreeBSD.org> Cc: freebsd-scsi@freebsd.org, freebsd-current@freebsd.org Subject: Re: multiple issues with devstat_*(9) Message-ID: <20110410115644.GA55815@freebsd.org> In-Reply-To: <4D9D9917.3030102@FreeBSD.org> References: <20110331223339.GA13682@freebsd.org> <201104010843.47367.jhb@freebsd.org> <20110404204316.GA11367@freebsd.org> <4D9D9917.3030102@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu Apr 7 11, Alexander Motin wrote:
> Alexander Best wrote:
> > On Fri Apr 1 11, John Baldwin wrote:
> >> On Thursday, March 31, 2011 6:33:39 pm Alexander Best wrote:
> >>> i think there are multiple issues with devstat. i found the following in
> >>> devicestat.h:
>
> ...
>
> >>> funny thing is i found the following in scsi_pass.c:
> >>>
> >>> softc->device_stats = devstat_new_entry("pass",
> >>> periph->unit_number, 0,
> >>> DEVSTAT_NO_BLOCKSIZE
> >>> | (no_tags ? DEVSTAT_NO_ORDERED_TAGS : 0),
> >>> softc->pd_type |
> >>> DEVSTAT_TYPE_IF_SCSI |
> >>> DEVSTAT_TYPE_PASS,
> >>> DEVSTAT_PRIORITY_PASS);
> >>>
> >>> ...so pass* *should* show up under iostat -t scsi.
>
> As I can see, this is a bug (or feature) of the libdevstat /
> devstat_selectdevs(). If you specify any -t, then pass devices will be
> reported only if you request "pass" specifically.
>
> >> Hmm, pass devices for adaX should not be SCSI though, they should be ide I
> >> think.
> >
> > i think the situation with ATA_CAM should be discussed further. still besides
> > this issue there are many more with devstat(3).
> >
> > i'll try to track all the "devstat_new_entry()" occurrences and see if some
> > issues can be fixed. maybe only the proper DEVSTAT_* args were forgotten.
>
> Assuming that SCSI and IDE in -t option means transport type, and
> assuming that we count everything except ATA and SATA as SCSI, I've made
> following patch, that should fix issues from the CAM side:
> http://people.freebsd.org/~mav/cam.devstat.patch
with your patch i get the following output:
otaku% iostat -t ide
tty ada0 ada1 cpu
tin tout KB/t tps MB/s KB/t tps MB/s us ni sy in id
6 144 14.21 6 0.09 20.46 40 0.81 2 0 3 0 95
otaku% iostat -t scsi
tty cd0 cpu
tin tout KB/t tps MB/s us ni sy in id
6 146 2.32 0 0.00 2 0 3 0 95
otaku% iostat -t pass
tty pass0 pass1 pass2 cpu
tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id
6 147 0.36 0 0.00 0.36 0 0.00 0.00 0 0.00 2 0 3 0 95
otaku% iostat -t da
tty ada0 ada1 cpu
tin tout KB/t tps MB/s KB/t tps MB/s us ni sy in id
6 147 14.21 6 0.08 20.46 37 0.75 1 0 3 0 95
otaku% iostat -t cd
tty cd0 cpu
tin tout KB/t tps MB/s us ni sy in id
7 147 2.32 0 0.00 1 0 3 0 95
otaku% iostat -t other
tty cpu
tin tout us ni sy in id
7 149 1 0 3 0 95
otaku% iostat -n 100
tty ada0 ada1 cd0 pass0 pass1 pass2 cpu
tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id
6 135 14.21 5 0.07 20.44 32 0.64 2.32 0 0.00 0.36 0 0.00 0.36 0 0.00 0.00 0 0.00 1 0 3 0 96
the the remaining issues imho are:
1) ada* and cd* are SATA/ATA devices. so i think they should show up together
either under ide *or* scsi. i don't have any *real* scsi devices.
2) the pass* devices still don't show up under ide/scsi/other. that's ok, but
then the src comments and manual pages need to be changed accordingly.
3) md0 should show up under iostat -t other
cheers.
alex
>
> Any objections? Or SCSI/IDE there expected to mean command set?
>
> --
> Alexander Motin
--
a13x
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110410115644.GA55815>
