# interrupt storm on VIA 6421 PCI SATA controller



## myso (Dec 9, 2009)

Hi all,

I hope I'll find some help within this community. My home server is an old DELL PE300, extended with 2pcs of a no name SATA controller card using VIA 6421 chipset. My two samsung 1TB harddrives are working fine, but I can't get working the other two WD 250GB - if accessed I'm getting this error messages:


```
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
ad4: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=160
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
ad4: TIMEOUT - WRITE_DMA retrying (0 retries left) LBA=160
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
ad4: FAILURE - WRITE_DMA timed out LBA=160
```
dmesg output:

```
Copyright (c) 1992-2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:48:17 UTC 2009
    root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel Pentium III (795.90-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
  Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 536870912 (512 MB)
avail memory = 510619648 (486 MB)
ACPI APIC Table: <DELL   PE300   >
ioapic0: Changing APIC ID to 1
ioapic0 <Version 1.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <DELL PE300> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, f00000 (3) failed
acpi0: reservation of 1000000, 1f000000 (3) failed
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <Intel 82443BX (440 BX) host to PCI bridge> on hostb0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
vgapci0: <VGA-compatible display> port 0xec00-0xecff mem 0xfc000000-0xfcffffff,0xfbfff000-0xfbffffff at device 0.0 on pci1
pcib2: <ACPI PCI-PCI bridge> at device 2.0 on pci0
pci2: <ACPI PCI bus> on pcib2
atapci0: <VIA 6421 SATA150 controller> port 0xdcf0-0xdcff,0xdcd0-0xdcdf,0xdcb0-0xdcbf,0xdc90-0xdc9f,0xdc60-0xdc7f,0xd800-0xd8ff irq 21 at device 9.0 on pci2
atapci0: [ITHREAD]
ata2: <ATA channel 0> on atapci0
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: [ITHREAD]
ata4: <ATA channel 2> on atapci0
ata4: [ITHREAD]
re0: <RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit Ethernet> port 0xd400-0xd4ff mem 0xf9fffc00-0xf9fffcff irq 22 at device 10.0 on pci2
re0: Chip rev. 0x10000000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S/8211B media interface> PHY 1 on miibus0
rgephy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
re0: Ethernet address: 00:06:4f:76:c2:09
re0: [FILTER]
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci1: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 7.1 on pci0
ata0: <ATA channel 0> on atapci1
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci1
ata1: [ITHREAD]
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xcce0-0xccff irq 19 at device 7.2 on pci0
uhci0: [ITHREAD]
usbus0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
pci0: <bridge> at device 7.3 (no driver attached)
re1: <RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit Ethernet> port 0xc800-0xc8ff mem 0xfe000000-0xfe0000ff irq 18 at device 14.0 on pci0
re1: Chip rev. 0x10000000
re1: MAC rev. 0x00000000
miibus1: <MII bus> on re1
rgephy1: <RTL8169S/8110S/8211B media interface> PHY 1 on miibus1
rgephy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
re1: Ethernet address: 00:06:4f:76:c0:03
re1: [FILTER]
atapci2: <VIA 6421 SATA150 controller> port 0xccd0-0xccdf,0xccb0-0xccbf,0xcc90-0xcc9f,0xcc70-0xcc7f,0xcc40-0xcc5f,0xc400-0xc4ff irq 19 at device 16.0 on pci0
atapci2: [ITHREAD]
ata5: <ATA channel 0> on atapci2
ata5: [ITHREAD]
ata6: <ATA channel 1> on atapci2
ata6: [ITHREAD]
ata7: <ATA channel 2> on atapci2
ata7: [ITHREAD]
atrtc0: <AT realtime clock> port 0x70-0x7f irq 8 on acpi0
fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FILTER]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart0: [FILTER]
uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
uart1: [FILTER]
ppc0: <Parallel port> port 0x378-0x37f,0x778-0x77f irq 7 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppc0: [ITHREAD]
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
plip0: [ITHREAD]
lpt0: <Printer> on ppbus0
lpt0: [ITHREAD]
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
cpu0: <ACPI CPU> on acpi0
smist0: <SpeedStep SMI> on cpu0
device_attach: smist0 attach returned 6
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff pnpid ORM0000 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 795897946 Hz quality 800
Timecounters tick every 1.000 msec
usbus0: 12Mbps Full Speed USB v1.0
ad0: 8056MB <Seagate ST38421A 8.01> at ata0-master UDMA33
ugen0.1: <Intel> at usbus0
uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ad1: 8056MB <Seagate ST38421A 8.01> at ata0-slave UDMA33
ad2: 114473MB <Seagate ST9120822A 3.ALD> at ata1-master UDMA33
ad4: 238475MB <WDC WD2500SD-01KCB0 08.02D08> at ata2-master SATA150
ad6: 953869MB <SAMSUNG HD103SI 1AG01118> at ata3-master SATA150
ad10: 953869MB <SAMSUNG HD103SI 1AG01118> at ata5-master SATA150
ad12: 238475MB <WDC WD2500SD-01KCC0 08.02D08> at ata6-master SATA150
uhub0: 2 ports with 2 removable, self powered
GEOM_MIRROR: Device mirror/RootMirror0 launched (2/2).
GEOM_STRIPE: Device ShareStripe0 created (id=2152680200).
GEOM_STRIPE: Disk ad4 attached to ShareStripe0.
GEOM_MIRROR: Device mirror/DataMirror0 launched (2/2).
GEOM_STRIPE: Disk ad12 attached to ShareStripe0.
GEOM_STRIPE: Device ShareStripe0 activated.
GEOM: ad4s1: geometry does not match label (255h,63s != 16h,63s).
GEOM: mirror/RootMirror0s1: geometry does not match label (16h,63s != 255h,63s).
GEOM: mirror/DataMirror0s1: geometry does not match label (16h,63s != 255h,63s).
GEOM: ufsid/4a7683b9de4af8b5: geometry does not match label (16h,63s != 255h,63s).
Trying to mount root from ufs:/dev/mirror/RootMirror0s1a
tap0: Ethernet address: 00:bd:05:6a:00:00
nd6_setmtu0: new link MTU on tap0 (1200) is too small for IPv6
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
ad4: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=160
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
ad4: TIMEOUT - WRITE_DMA retrying (0 retries left) LBA=160
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
interrupt storm detected on "irq21:"; throttling interrupt source
ad4: FAILURE - WRITE_DMA timed out LBA=160
GEOM: ad4s1: geometry does not match label (255h,63s != 16h,63s).
```
vmstat -i 

```
interrupt                          total       rate
irq1: atkbd0                           6          0
irq4: uart0                            1          0
irq6: fdc0                            10          0
irq14: ata0                       878874          3
irq15: ata1                      1890197          7
irq18: re1                         54260          0
irq19: uhci0+                     110664          0
irq21: atapci0                    130397          0
irq22: re0                      47048500        179
cpu0: timer                    525163457       1999
Total                          575276366       2190
```

I'm very thankful for every kind of help.


----------



## michaelrmgreen (Dec 12, 2009)

Try disabling unused system hardware in your system BIOS (for example unused serial ports). 

After disabling unused hardware, if there is still a problem move the SATA card to a different slot.

Also the VIA VT6421 chipset is reported to have difficulty with SATAII disks. See if you can set SATAII disks to SATAI by either fitting the appropriate jumper (might be harder than it sounds) or using the manufacturers utility.


----------



## mav@ (Dec 21, 2009)

Some PCI ATA related timeouts and interrupt storms were recently fixed in 7/8-STABLE.


----------

