multiple issues with devstat_*(9)
Alexander Motin
mav at FreeBSD.org
Mon Apr 11 06:44:26 UTC 2011
Alexander Best wrote:
> On Sun Apr 10 11, Alexander Motin wrote:
>> Alexander Best wrote:
>>> On Thu Apr 7 11, Alexander Motin wrote:
>>>> 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.
>> I've just retested the patch and haven't reproduced your problem:
>> %iostat -d
>> da0 ada0 da1 cd0
>> KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s
>> 0.01 0 0.00 3.27 1 0.00 2.65 1 0.00 0.00 0 0.00
>> %iostat -d -t ide
>> da0 ada0 cd0
>> KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s
>> 0.01 0 0.00 3.27 1 0.00 0.00 0 0.00
>> %iostat -d -t scsi
>> da1
>> KB/t tps MB/s
>> 2.65 1 0.00
>> %iostat -d -t pass
>> pass0 pass1 pass2 pass3
>> KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s
>> 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00
>> %iostat -d -t ide,pass
>> pass0 pass1 pass2
>> KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s
>> 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00
>> %iostat -d -t scsi,pass
>> pass3
>> KB/t tps MB/s
>> 0.00 0 0.00
>>
>> da0 is an PATA ATAPI ZIP, da1 - USB floppy, ada0 - SATA HDD, cd0 - PATA
>> ATAPI CD-ROM.
>>
>> Just an idea, aren't you are using legacy ata(4) + atapicam for your
>> cd0? atapicam lies that it's buses are SPI (SCSI).
>
> my cd0 is a pata atapi dvdrom drive and i have the following in my kernel conf:
>
> device atacore
> device ahci
> device atajmicron
> device atapci
> #device atapicd
> device atapicam
>
> device umass
> device scbus
> device cd
> device pass
> device da
> device random
> device pty
> device md
>
> the dmesg entries for cd0 are:
>
> cam_periph_alloc: attempt to re-allocate valid device cd0 rejected
> cdasync: Unable to attach new device due to status 0x6
> cd0 at ata2 bus 0 scbus8 target 0 lun 0
> cd0: <HL-DT-ST DVDRAM GSA-H10N JL12> Removable CD-ROM SCSI-0 device
> cd0: 3.300MB/s transfers
> cd0: cd present [2149024 x 2048 byte records]
Aha, that's it. It is atapicam's lie. atapicam is one of a things that
will go away during migration to CAM ATA. If you remove `device
atapicam`, but add `options ATA_CAM` instead, CAM will manage that bus
directly and report it as ATA.
--
Alexander Motin
More information about the freebsd-scsi
mailing list