id try this on a sili(4), ahci(4), or mpi(4) controller and see what happens.

my guess is you're hitting issues in the ata stack, specifically to do with
the block offsets of your io ops.

dlg

On 01/01/2010, at 12:03 AM, Scott McEachern wrote:

> I've been using dd to test some of my hard drives and just ran into the
oddest of coincidences.
>
> I used this command (or variation without the time command)
>
> # time dd if=/dev/rwd0c of=/dev/null
>
> on three machines with three HDD's of sizes 40GB SATA, 40GB IDE and 30GB
IDE, one of those 40GB (SATA) drives was in my workstation.  The result is
basically the same: x number of bytes transferred, etc. with no problems.
They are all a few years old.  I bought a brand-new Seagate Barracuda
SATA/1.5TB/7200/32MB, installed it into my workstation and ran the same test
to get this:
>
> # dd if=/dev/rwd0c of=/dev/null        dd: /dev/rwd0c: Input/output error
> 268435455+0 records in
> 268435455+0 records out
> 137438952960 bytes transferred in 23763.827 secs (5783536 bytes/sec)
>
> What got me doing that in the first place was my workstation locking up hard
3 times in the past few weeks.  I have no idea why, nothing in the system
logs, etc, and the only change was the HDD.  I figured the drive was
defective, ran the above test, and returned it for a replacement.  While
there, I also picked up a WD 500GB SATA drive and installed that in my
workstation (to be pre-built and installed in another PC), which gave this
result:
>
> # time dd if=/dev/rwd0c of=/dev/null
> 976773168+0 records in
> 976773168+0 records out
> 500107862016 bytes transferred in 93283.067 secs (5361186 bytes/sec)
> 1554m43.06s real (etc)
>
> No I/O error, so it should be good.  That's 2 drives ok (40 and 500 GB) and
1 drive bad in the same PC, now for the 2nd new 1.5TB drive:
>
> dd: /dev/rwd0c: Input/output error
> 268435455+0 records in
> 268435455+0 records out
> 137438952960 bytes transferred in 23740.766 secs (5789154 bytes/sec)
> 395m40.76s real (etc)
>
> Oh, another crappy drive, I guess I have bad luck.  Probably from a bad
batch or something.  But wait...
>
> Look at the amounts transferred.  Exactly the same for both of the 1.5TB
drives, and I assure you it's not accidentally the same drive, just the exact
same make / model.  The cables / connections are good on known good hardware,
plus two other different drives were fine.  It can't be some odd variable
limit (or similar thing) because the 500GB values went well beyond where the
1.5TB drives crapped out.
>
> I don't believe it's the hardware (other than the drive), nor the software,
but seeing those numbers being identical down to the byte is either incredibly
coincidental or .. ?  I'm going to run the test again, but as you can see from
the time it won't be done for another 6.5 hours.  Betcha it'll be the same.
>
> Can anyone think of a plausible explanation for this, other than maybe a bad
batch where the drives are all equally defective at the exact same spot?
While I'm here, can anyone recommend another tool than dd for testing drives?
Seems to me with those numbers, to finish a 1.5TB drive it'll take around 76
hours.  I don't mind the time, I need thoroughness.  It's better than having a
workstation (or server) mysteriously lock up after the 30-day return/exchange
is over.
>
> Just in case, here's a dmesg with some errors at the bottom regarding the
drive.
>
> OpenBSD 4.6-stable (GENERIC.MP) #0: Sat Dec 26 23:19:02 EST 2009
>   r...@blackstaff.erratic.ca:/usr/src/sys/arch/i386/compile/GENERIC.MP
> cpu0: Intel(R) Pentium(R) 4 CPU 3.20GHz ("GenuineIntel" 686-class) 3.20 GHz
> cpu0:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUS
H,DS
>
,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,EST,CNXT-ID,CX16,xTPR
> real mem  = 1061974016 (1012MB)
> avail mem = 1018036224 (970MB)
> mainbus0 at root
> bios0 at mainbus0: AT/286+ BIOS, date 02/14/06, BIOS32 rev. 0 @ 0xfd61a,
SMBIOS rev. 2.
> 34 @ 0xf0320 (59 entries)
> bios0: vendor IBM version "2EKT33AUS" date 02/14/2006
> bios0: IBM 8215W97
> acpi0 at bios0: rev 0
> acpi0: tables DSDT FACP TCPA MCFG APIC BOOT ASF! SSDT
> acpi0: wakeup devices AZAL(S3) EXP0(S5) EXP1(S5) USB1(S3) USB2(S3) USB3(S3)
USB4(S3) US
> BE(S3) SLOT(S5) KBC_(S3) PSM_(S3) COMA(S5) COMB(S5)
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: apic clock running at 199MHz
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: Intel(R) Pentium(R) 4 CPU 3.20GHz ("GenuineIntel" 686-class) 3.20 GHz
> cpu1:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUS
H,DS
>
,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,EST,CNXT-ID,CX16,xTPR
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (PEG_)
> acpiprt2 at acpi0: bus 2 (EXP0)
> acpiprt3 at acpi0: bus 4 (EXP1)
> acpiprt4 at acpi0: bus 10 (SLOT)
> acpicpu0 at acpi0: FVS, 1600, 1400 MHz
> acpicpu1 at acpi0: FVS, 1600, 1400 MHz
> acpitz0 at acpi0: critical temperature 255 degC
> acpibtn0 at acpi0: PWRB
> bios0: ROM list: 0xc0000/0xac00! 0xcb000/0x1000 0xcc000/0x1000 0xcd000/0x800
0xe0000/0x
> 1800!
> pci0 at mainbus0 bus 0: configuration mode 1 (bios)
> pchb0 at pci0 dev 0 function 0 "Intel 82945G Host" rev 0x02
> vga1 at pci0 dev 2 function 0 "Intel 82945G Video" rev 0x02
> wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
> wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
> intagp0 at vga1
> agp0 at intagp0: aperture at 0xc0000000, size 0x10000000
> inteldrm0 at vga1: apic 2 int 16 (irq 5)
> drm0 at inteldrm0
> "Intel 82945G Video" rev 0x02 at pci0 dev 2 function 1 not configured
> azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x01: apic 2
int 22 (irq
> 9)
> azalia0: codecs: Analog Devices AD1981HD
> audio0 at azalia0
> ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x01: apic 2 int 17
(irq 11)
> pci1 at ppb0 bus 2
> em0 at pci1 dev 0 function 0 "Intel PRO/1000MT (82573E)" rev 0x03: apic 2
int 16 (irq 5
> ), address 00:10:c6:b5:c1:72
> ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x01: apic 2 int 16
(irq 5)
> pci2 at ppb1 bus 4
> uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x01: apic 2 int 23
(irq 11)
> uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x01: apic 2 int 19
(irq 9)
> uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x01: apic 2 int 18
(irq 10)
> uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x01: apic 2 int 16
(irq 5)
> ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x01: apic 2 int 23
(irq 11)
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
> ppb2 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xe1
> pci3 at ppb2 bus 10
> xl0 at pci3 dev 9 function 0 "3Com 3c905C 100Base-TX" rev 0x74: apic 2 int
21 (irq 7),
> address 00:01:02:3b:a6:d1
> bmtphy0 at xl0 phy 24: 3C905C internal PHY, rev. 6
> ichpcib0 at pci0 dev 31 function 0 "Intel 82801GB LPC" rev 0x01: PM
disabled
> pciide0 at pci0 dev 31 function 2 "Intel 82801GB SATA" rev 0x01: DMA,
channel 0 wired t
> o compatibility, channel 1 wired to compatibility
> wd0 at pciide0 channel 0 drive 0: <ST31500341AS>
> wd0: 16-sector PIO, LBA48, 1430799MB, 2930277168 sectors
> wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
> atapiscsi0 at pciide0 channel 1 drive 0
> scsibus0 at atapiscsi0: 2 targets
> cd0 at scsibus0 targ 0 lun 0: <HL-DT-ST, DVDRAM GSA-4163B, AX13> ATAPI
5/cdrom removable
> cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 4
> ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x01: apic 2 int
19 (irq 9)
> iic0 at ichiic0
> adt0 at iic0 addr 0x2e: lm96000 rev 0x68
> spdmem0 at iic0 addr 0x50: 512MB DDR2 SDRAM non-parity PC2-4200CL5
> spdmem1 at iic0 addr 0x52: 512MB DDR2 SDRAM non-parity PC2-5300CL5
> usb1 at uhci0: USB revision 1.0
> uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> usb2 at uhci1: USB revision 1.0
> uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> usb3 at uhci2: USB revision 1.0
> uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> usb4 at uhci3: USB revision 1.0
> uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> isa0 at ichpcib0
> isadma0 at isa0
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
> pckbc0 at isa0 port 0x60/5
> pckbd0 at pckbc0 (kbd slot)
> pckbc0: using irq 1 for kbd slot
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pcppi0 at isa0 port 0x61
> midi0 at pcppi0: <PC speaker>
> spkr0 at pcppi0
> npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
> fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
> fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
> mtrr: Pentium Pro MTRR support
> uhub5 at uhub4 port 1 "Dell Dell USB Keyboard Hub" rev 1.10/2.00 addr 2
> uhidev0 at uhub5 port 1 configuration 1 interface 0 "Dell Dell USB Keyboard"
rev 1.10/2
> .00 addr 3
> uhidev0: iclass 3/1
> ukbd0 at uhidev0: 8 modifier keys, 6 key codes
> wskbd1 at ukbd0 mux 1
> wskbd1: connecting to wsdisplay0
> uhidev1 at uhub5 port 1 configuration 1 interface 1 "Dell Dell USB Keyboard"
rev 1.10/2
> .00 addr 3
> uhidev1: iclass 3/0, 3 report ids
> uhid0 at uhidev1 reportid 1: input=1, output=0, feature=0
> uhid1 at uhidev1 reportid 2: input=1, output=0, feature=0
> uhid2 at uhidev1 reportid 3: input=3, output=0, feature=0
> uhidev2 at uhub4 port 2 configuration 1 interface 0 "Logitech USB Optical
Mouse" rev 2.
> 00/43.01 addr 4
> uhidev2: iclass 3/1
> ums0 at uhidev2: 3 buttons, Z dir
> wsmouse0 at ums0 mux 0
> softraid0 at root
> root on wd0a swap on wd0b dump on wd0b
> wd0c: id not found reading fsbn 268435455 (wd0 bn 268435455; cn 16709 tn 85
sn 15), ret
> rying
> wd0c: id not found reading fsbn 268435455 (wd0 bn 268435455; cn 16709 tn 85
sn 15), ret
> rying
> wd0c: id not found reading fsbn 268435455 (wd0 bn 268435455; cn 16709 tn 85
sn 15), ret
> rying
> wd0: transfer error, downgrading to Ultra-DMA mode 4
> wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 4
> wd0c: id not found reading fsbn 268435455 (wd0 bn 268435455; cn 16709 tn 85
sn 15), ret
> rying
> wd0c: id not found reading fsbn 268435455 (wd0 bn 268435455; cn 16709 tn 85
sn 15), ret
> rying
> wd0c: id not found reading fsbn 268435455 (wd0 bn 268435455; cn 16709 tn 85
sn 15)
> (END)
>
>
> --
>
> -RSM
>
> http://www.erratic.ca

Reply via email to