From owner-freebsd-current@FreeBSD.ORG Sun Apr 10 12:00:40 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1233) id 1069410657DA; Sun, 10 Apr 2011 12:00:40 +0000 (UTC) Date: Sun, 10 Apr 2011 12:00:40 +0000 From: Alexander Best To: Alexander Motin Message-ID: <20110410120040.GA56629@freebsd.org> References: <20110331223339.GA13682@freebsd.org> <201104010843.47367.jhb@freebsd.org> <20110404204316.GA11367@freebsd.org> <4D9D9917.3030102@FreeBSD.org> <20110410115644.GA55815@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20110410115644.GA55815@freebsd.org> Cc: freebsd-scsi@freebsd.org, freebsd-current@freebsd.org Subject: Re: multiple issues with devstat_*(9) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Apr 2011 12:00:40 -0000 On Sun Apr 10 11, Alexander Best wrote: > 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 sorry this was my fault. there was no md* configured at the time i ran the test. md0 showx up under iostat -t da and iostat -t other, just like it's supposd to. so please forget about point 3). cheers. alex > > cheers. > alex > > > > > Any objections? Or SCSI/IDE there expected to mean command set? > > > > -- > > Alexander Motin > > -- > a13x -- a13x