SATA DMA errors on second ICH10 bus

From: Dylan Alex Simon <dylan_at_dylex.net>
Date: Thu, 15 Jan 2009 18:35:53 -0500
I have four identical SATA300 disks on a Supermicro C2SEA which has 6 total
SATA ports on an ICH10.  This is from 20090114 CURRENT sources with a custom
kernel (no PREEMPTION, INVARIANTS, WITNESS, and many drivers removed, but
otherwise same as GENERIC).

The first two disks (ad6 ad7) seem to work fine, and I've done buildworld,
zfs, and nfs tests on both of them together and separately.  The second two
disks (ad8 ad9) work okay for some things (labeling, zpool creation, gmirror
creation, dd slice), but as soon as I start doing anything more complicated
involving at least one of them (gmirror write access, cp to ufs partition, cp
to zfs over nfs, etc.) I get the following errors on all involved disks
(including the first two):

Jan 15 17:35:07 lust kernel: ad8: FAILURE - load data
Jan 15 17:35:07 lust kernel: ad8: setting up DMA failed
Jan 15 17:35:07 lust kernel: ad8: FAILURE - load data
Jan 15 17:35:07 lust kernel: ad8: setting up DMA failed
Jan 15 17:35:07 lust kernel: g_vfs_done():ad8s1e[WRITE(offset=1881014272, length=131072)]error = 5
Jan 15 17:35:07 lust kernel: ad6: FAILURE - load data
Jan 15 17:35:07 lust kernel: ad6: setting up DMA failed
Jan 15 17:35:07 lust kernel: g_vfs_done():ad6s1e[READ(offset=4117364736, length=32768)]error = 5
Jan 15 17:35:07 lust kernel: vnode_pager_getpages: I/O read error
Jan 15 17:35:07 lust kernel: vm_fault: pager read error, pid 985 (cp)

This continues for a while and then with ufs panics pretty soon.  With zfs it
starts hanging most processes after awhile.  (7.1 found the disks but failed
to complete booting, freezing up right after probing.  The only related issue
I could find is kern/125859.)

I'm happy to provide any information needed or try patches.  I would also like
to know if there's a way to turn off DMA on just these two disks (atacontrol
mode won't seem to set anything but SATA300).

Thanks,
:-Dylan


FreeBSD lust.cns.nyu.edu 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Wed Jan 14 19:58:58 EST 2009     dylan_at_lust.cns.nyu.edu:/usr/obj/usr/src/sys/SIN  amd64

dmesg (partial):
lust kernel: pcib3: <ACPI PCI-PCI bridge> at device 30.0 on pci0
lust kernel: pci3: <ACPI PCI bus> on pcib3
lust kernel: atapci0: <ITE IT8213F UDMA133 controller> port 0xec00-0xec07,0xe880-0xe883,0xe800-0xe807,0xe480-0xe483,0xe400-0xe40f irq 22 at device 4.0 on pci3
lust kernel: atapci0: [ITHREAD]
lust kernel: ata2: <ATA channel 0> on atapci0
lust kernel: ata2: [ITHREAD]
lust kernel: pci3: <serial bus, FireWire> at device 8.0 (no driver attached)
lust kernel: isab0: <PCI-ISA bridge> at device 31.0 on pci0
lust kernel: isa0: <ISA bus> on isab0
lust kernel: atapci1: <Intel ICH10 SATA300 controller> port 0xc400-0xc407,0xc080-0xc083,0xc000-0xc007,0xbc00-0xbc03,0xb880-0xb88f,0xb800-0xb80f irq 19 at device 31.2 on pci0
lust kernel: atapci1: [ITHREAD]
lust kernel: ata3: <ATA channel 0> on atapci1
lust kernel: ata3: [ITHREAD]
lust kernel: ata4: <ATA channel 1> on atapci1
lust kernel: ata4: [ITHREAD]
lust kernel: pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
lust kernel: atapci2: <Intel ICH10 SATA300 controller> port 0xb400-0xb407,0xb080-0xb083,0xb000-0xb007,0xac00-0xac03,0xa880-0xa88f,0xa800-0xa80f irq 19 at device 31.5 on pci0
lust kernel: atapci2: [ITHREAD]
lust kernel: ata5: <ATA channel 0> on atapci2
lust kernel: ata5: [ITHREAD]
lust kernel: ata6: <ATA channel 1> on atapci2
lust kernel: ata6: [ITHREAD]
lust kernel: est: CPU supports Enhanced Speedstep, but is not recognized.
lust kernel: est: cpu_vendor GenuineIntel, msr 61a0a2006000a20
lust kernel: acd0: DVDROM <ATAPI DVD D DH16D3P/1P52> at ata2-master UDMA33
lust kernel: ad6: 953869MB <Seagate ST31000333AS CC1F> at ata3-master SATA300
lust kernel: ad7: 953869MB <Seagate ST31000333AS CC1F> at ata3-slave SATA300
lust kernel: ad8: 953869MB <Seagate ST31000333AS CC1F> at ata4-master SATA300
lust kernel: ad9: 953869MB <Seagate ST31000333AS CC1F> at ata4-slave SATA300

atacontrol list:
ATA channel 2:
    Master: acd0 <ATAPI DVD D DH16D3P/1P52> ATA/ATAPI revision 7
    Slave:       no device present
ATA channel 3:
    Master:  ad6 <ST31000333AS/CC1F> Serial ATA II
    Slave:   ad7 <ST31000333AS/CC1F> Serial ATA II
ATA channel 4:
    Master:  ad8 <ST31000333AS/CC1F> Serial ATA II
    Slave:   ad9 <ST31000333AS/CC1F> Serial ATA II
ATA channel 5:
    Master:      no device present
    Slave:       no device present
ATA channel 6:
    Master:      no device present
    Slave:       no device present

pciconf -lv (partial):
pcib3_at_pci0:0:30:0:      class=0x060401 card=0xb88015d9 chip=0x244e8086 rev=0x90 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801 Family (ICH2/3/4/4/5/5/6/7/8/9,63xxESB) Hub Interface to PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
isab0_at_pci0:0:31:0:      class=0x060100 card=0xb88015d9 chip=0x3a188086 rev=0x00 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = bridge
    subclass   = PCI-ISA
atapci1_at_pci0:0:31:2:    class=0x01018f card=0xb88015d9 chip=0x3a208086 rev=0x00 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = mass storage
    subclass   = ATA
atapci2_at_pci0:0:31:5:    class=0x010185 card=0xb88015d9 chip=0x3a268086 rev=0x00 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = mass storage
    subclass   = ATA
Received on Thu Jan 15 2009 - 22:57:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:40 UTC