DMA timeout issues on Asus K8V-SE deluxe

Bug #9218 reported by dmatrix7
8
Affects Status Importance Assigned to Milestone
linux-source-2.6.15 (Ubuntu)
Fix Released
Medium
Fabio Massimo Di Nitto

Bug Description

A default install of Warty RC AMD64 on this motherboard works great, until you
push the system load. DMA errors will start to crop up and make the system
appear to freeze for 10-20 seconds.
Here is a sample of the syslog errors:

Oct 12 08:26:25 localhost kernel: hda: dma_timer_expiry: dma status == 0x24
Oct 12 08:26:35 localhost kernel: hda: DMA interrupt recovery
Oct 12 08:26:35 localhost kernel: hda: lost interrupt

More:

Oct 12 08:27:38 localhost kernel: hdc: lost interrupt
Oct 12 08:28:23 localhost kernel: hdb: lost interrupt

This only appears to happen under heavy system load and even to devices that are
currently not in use.

A fix for this motherboard appears to be placing this in the /boot/grub/menu.lst
file at the end of the kernel section:

noapic pci=usepirqmask

After a reboot the motherboard no longer DMA timeouts under heavy load.

Revision history for this message
Herbert Xu (herbert-gondor) wrote :

Please provide the dmesg with/without the options applied. Have you tried the
options individually?

Revision history for this message
dmatrix7 (dmatrix7) wrote :
Download full text (14.9 KiB)

I have just around to rebooting with the options applied. I have not tried them
individually yet, but I did try with acpi=off and apic=off neither which helped.

dmesg output with 'noapic pci=usepirqmask' applied to /boot/grub/menu.lst:

#cat /var/log/dmesg
MFACP 0x05000418 MSFT 0x00000097) @ 0x000000003ff30200
ACPI: MADT (v001 A M I OEMAPIC 0x05000418 MSFT 0x00000097) @ 0x000000003ff30390
ACPI: OEMB (v001 A M I OEMBIOS 0x05000418 MSFT 0x00000097) @ 0x000000003ff40040
ACPI: DSDT (v001 A0058 A0058002 0x00000002 MSFT 0x0100000d) @ 0x0000000000000000
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 15:14 APIC version 16
ACPI: Skipping IOAPIC probe due to 'noapic' option.
Using ACPI for processor (LAPIC) configuration information
Intel MultiProcessor Specification v1.4
    Virtual Wire compatibility mode.
OEM ID: ASUSTeK <6>Product ID: DELUXE <6>APIC at: 0xFEE00000
I/O APIC #2 Version 3 at 0xFEC00000.
Processors: 1
Checking aperture...
CPU 0: aperture @ f8000000 size 64 MB
Built 1 zonelists
Kernel command line: root=/dev/hda3 ro console=tty0 quiet splash noapic
pci=usepirqmask
Initializing CPU#0
PID hash table entries: 16 (order 4: 256 bytes)
time.c: Using 1.193182 MHz PIT timer.
time.c: Detected 2202.881 MHz processor.
Console: colour VGA+ 80x25
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Memory: 1022584k/1047744k available (1595k kernel code, 24420k reserved, 950k
data, 124k init)
Calibrating delay loop... 4308.99 BogoMIPS
Security Scaffold v1.0.0 initialized
Mount-cache hash table entries: 256 (order: 0, 4096 bytes)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 512K (64 bytes/line)
CPU: AMD Athlon(tm) 64 Processor 3200+ stepping 00
ACPI: IRQ9 SCI: Edge set to Level Trigger.
Using local APIC NMI watchdog using perfctr0
Using local APIC timer interrupts.
Detected 12.516 MHz APIC timer.
checking if image is initramfs...it isn't (ungzip failed); looks like an initrd
NET: Registered protocol family 16
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20040816
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 *5 7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 10 11 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 10 11 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 10 11 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 10 11 14 15) *0, disabled.
usbcore: registered new driver usbfs
usbcore: registered new driver hub
PCI: Using ACPI for IRQ routing
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
ACPI: PCI interrupt 0000:00:07.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
ACPI...

Revision history for this message
dmatrix7 (dmatrix7) wrote :
Download full text (14.7 KiB)

dmesg output with 'noapic pci=usepirqmask' applied to /boot/grub/menu.lst:

#cat /var/log/dmesg
>ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 10 11 14 15) *0, disabled.
usbcore: registered new driver usbfs
usbcore: registered new driver hub
PCI: Using ACPI for IRQ routing
IOAPIC[0]: Set PCI routing entry (1-16 -> 0xa9 -> IRQ 16 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:07.0[A] -> GSI 16 (level, low) -> IRQ 16
IOAPIC[0]: Set PCI routing entry (1-17 -> 0xb1 -> IRQ 17 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17
ACPI: PCI interrupt 0000:00:0c.0[A] -> GSI 17 (level, low) -> IRQ 17
IOAPIC[0]: Set PCI routing entry (1-18 -> 0xb9 -> IRQ 18 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:0d.0[A] -> GSI 18 (level, low) -> IRQ 18
IOAPIC[0]: Set PCI routing entry (1-19 -> 0xc1 -> IRQ 19 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:0e.0[A] -> GSI 19 (level, low) -> IRQ 19
ACPI: PCI interrupt 0000:00:0e.1[A] -> GSI 19 (level, low) -> IRQ 19
IOAPIC[0]: Set PCI routing entry (1-20 -> 0xc9 -> IRQ 20 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:0f.0[B] -> GSI 20 (level, low) -> IRQ 20
ACPI: PCI interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 20
IOAPIC[0]: Set PCI routing entry (1-21 -> 0xd1 -> IRQ 21 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:10.0[A] -> GSI 21 (level, low) -> IRQ 21
ACPI: PCI interrupt 0000:00:10.1[A] -> GSI 21 (level, low) -> IRQ 21
ACPI: PCI interrupt 0000:00:10.2[B] -> GSI 21 (level, low) -> IRQ 21
ACPI: PCI interrupt 0000:00:10.3[B] -> GSI 21 (level, low) -> IRQ 21
ACPI: PCI interrupt 0000:00:10.4[C] -> GSI 21 (level, low) -> IRQ 21
IOAPIC[0]: Set PCI routing entry (1-22 -> 0xd9 -> IRQ 22 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:11.5[C] -> GSI 22 (level, low) -> IRQ 22
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16
number of MP IRQ sources: 15.
number of IO-APIC #1 registers: 24.
testing the IO APIC.......................

IO APIC #1......
.... register #00: 01000000
....... : physical APIC id: 01
.... register #01: 00178003
....... : max redirection entries: 0017
....... : PRQ implemented: 1
....... : IO APIC version: 0003
.... IRQ redirection table:
 NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
 00 000 00 1 0 0 0 0 0 0 00
 01 001 01 0 0 0 0 0 1 1 39
 02 001 01 0 0 0 0 0 1 1 31
 03 001 01 0 0 0 0 0 1 1 41
 04 001 01 0 0 0 0 0 1 1 49
 05 001 01 0 0 0 0 0 1 1 51
 06 001 01 0 0 0 0 0 1 1 59
 07 001 01 0 0 0 0 0 1 1 61
 08 001 01 0 0 0 0 0 1 1 69
 09 001 01 0 1 0 1 0 1 1 71
 0a 001 01 0 0 0 0 0 1 1 79
 0b 001 01 0 0 0 0 0 1 1 81
 0c 001 01 0 0 0 0 0 1 1 89
 0d 001 01 0 0 0 0 0 1 1 91
 0e 001 01 0 0 0 0 0 1 1 99
 0f 001 01 0 0 0 0 0 1 1 A1
 10 001 01 1 1 0 1 0 1 1 A9
 11 001 01 1 1 0 1 0 1 1 B1
 12 001 01 1 1 0 1 0 1 1 B9
 13 001 01 1 1 0 1 0 1 1 C1
 14 ...

Revision history for this message
dmatrix7 (dmatrix7) wrote :
Download full text (30.3 KiB)

Sorry this last one is without.

dmesg output without 'noapic pci=usepirqmask' applied to /boot/grub/menu.lst:

#cat /var/log/dmesg
>ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 10 11 14 15) *0, disabled.
usbcore: registered new driver usbfs
usbcore: registered new driver hub
PCI: Using ACPI for IRQ routing
IOAPIC[0]: Set PCI routing entry (1-16 -> 0xa9 -> IRQ 16 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:07.0[A] -> GSI 16 (level, low) -> IRQ 16
IOAPIC[0]: Set PCI routing entry (1-17 -> 0xb1 -> IRQ 17 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17
ACPI: PCI interrupt 0000:00:0c.0[A] -> GSI 17 (level, low) -> IRQ 17
IOAPIC[0]: Set PCI routing entry (1-18 -> 0xb9 -> IRQ 18 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:0d.0[A] -> GSI 18 (level, low) -> IRQ 18
IOAPIC[0]: Set PCI routing entry (1-19 -> 0xc1 -> IRQ 19 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:0e.0[A] -> GSI 19 (level, low) -> IRQ 19
ACPI: PCI interrupt 0000:00:0e.1[A] -> GSI 19 (level, low) -> IRQ 19
IOAPIC[0]: Set PCI routing entry (1-20 -> 0xc9 -> IRQ 20 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:0f.0[B] -> GSI 20 (level, low) -> IRQ 20
ACPI: PCI interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 20
IOAPIC[0]: Set PCI routing entry (1-21 -> 0xd1 -> IRQ 21 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:10.0[A] -> GSI 21 (level, low) -> IRQ 21
ACPI: PCI interrupt 0000:00:10.1[A] -> GSI 21 (level, low) -> IRQ 21
ACPI: PCI interrupt 0000:00:10.2[B] -> GSI 21 (level, low) -> IRQ 21
ACPI: PCI interrupt 0000:00:10.3[B] -> GSI 21 (level, low) -> IRQ 21
ACPI: PCI interrupt 0000:00:10.4[C] -> GSI 21 (level, low) -> IRQ 21
IOAPIC[0]: Set PCI routing entry (1-22 -> 0xd9 -> IRQ 22 Mode:1 Active:1)
ACPI: PCI interrupt 0000:00:11.5[C] -> GSI 22 (level, low) -> IRQ 22
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16
number of MP IRQ sources: 15.
number of IO-APIC #1 registers: 24.
testing the IO APIC.......................

IO APIC #1......
.... register #00: 01000000
....... : physical APIC id: 01
.... register #01: 00178003
....... : max redirection entries: 0017
....... : PRQ implemented: 1
....... : IO APIC version: 0003
.... IRQ redirection table:
 NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
 00 000 00 1 0 0 0 0 0 0 00
 01 001 01 0 0 0 0 0 1 1 39
 02 001 01 0 0 0 0 0 1 1 31
 03 001 01 0 0 0 0 0 1 1 41
 04 001 01 0 0 0 0 0 1 1 49
 05 001 01 0 0 0 0 0 1 1 51
 06 001 01 0 0 0 0 0 1 1 59
 07 001 01 0 0 0 0 0 1 1 61
 08 001 01 0 0 0 0 0 1 1 69
 09 001 01 0 1 0 1 0 1 1 71
 0a 001 01 0 0 0 0 0 1 1 79
 0b 001 01 0 0 0 0 0 1 1 81
 0c 001 01 0 0 0 0 0 1 1 89
 0d 001 01 0 0 0 0 0 1 1 91
 0e 001 01 0 0 0 0 0 1 1 99
 0f 001 01 0 0 0 0 0 1 1 A1
 10 001 01 1 1 0 1 0 1 1 A9
 11 001 01 1 1 0 1 0 1 1 B1
 12 001 01 1 1 0 1 0 1 1 B9
 13 001 01 1 ...

Revision history for this message
Herbert Xu (herbert-gondor) wrote :

First of all please attach the files instead of including them in the comments.
 Otherwise this quickly becomes impossible to browse.

Please include /proc/interrupts after boot-up in both cases. Thanks.

Revision history for this message
Ken Tindle (ktindle) wrote :

Created an attachment (id=1088)
Contents of /proc/interrupts with "noapic pci=usepirqmask"

Revision history for this message
Ken Tindle (ktindle) wrote :

Created an attachment (id=1089)
Contents of /proc/interrupts without any noapic option

Revision history for this message
Chuck Short (zulcss) wrote :

Can you download a live cd and see if this problem still exists for you?

thanks
chuck

Revision history for this message
dmatrix7 (dmatrix7) wrote :

I have been running Hoary Array 6 upgraded daily to the latest packages and have
not seen this DMA timeout problem anymore. I will do some more testing, but I
think the problem is gone. Tested on amd64-generic and amd64-k8 kernels.

Revision history for this message
Tollef Fog Heen (tfheen) wrote :

Closing as the user cannot reproduce this anymore and it is therefore presumed
fixed.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.