Asus P5W DH Deluxe APIC/SMP IRQ problem
John Baldwin
jhb at freebsd.org
Mon Jul 9 23:44:12 UTC 2007
On Monday 09 July 2007 05:39:38 pm Nate Lawson wrote:
> John Baldwin wrote:
> > On Friday 06 July 2007 06:01:43 am Михаил Кучин wrote:
> >> Hi people!
> >>
> >> Sorry for my bad english. Writing for the first time. I am searching help
> >> =)
> >>
> >> My OS:
> >> FreeBSD 6.2-RELEASE
> >>
> >> Hardware:
> >> Asus P5W DH Deluxe MB (ICH7 Chipset)
> >> Intel Core 2 Duo CPU (6700)
> >> Integrated Netw Card (Marvell Yukon 88E8053 based Ethernet Controller)
> >> S3 Trio PCI Video Card (very-very old)
> >>
> >> Problem:
> >> 40% of CPU is occupied by interrupts, in some cases (I tried many
> >> ways of solving), I have "Interrupt storm detected" message.
> >>
> >> atapci2 (see vmstat), as I understand, occupies CPU. Here is my RAID1
> > controller with
> >> 400G Samsung Disks and other ICH7 stuff.
> >>
> >> I tried to change in BIOS everything, disable everything, re-plug vga
> >> card, unplug some RAM. BIOS is fresh: a week ago release. Tried 3
> >> different versions.
> >
> > Try turning off various device drivers (like myk) to see if you can get
the
> > interrupt storm on IRQ 23 to go away. It is likely a bug in interrupt
> > routing in your BIOS, but you can use a tunable to work around it, you
just
> > need to figure out which _other_ PCI device (not atapci2) is sending its
> > interrupts to IRQ 23 rather than the IRQ the BIOS told the OS.
>
> Actually, are you sure about that? My first guess was that maybe the
> video card's slot is routed to irq 23.
>
> But then, I saw this in the dmesg:
> > atapci1: <Intel ICH7 UDMA100 controller> port
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 31.1 on pci0
> > ata0: <ATA channel 0> on atapci1
> > ata1: <ATA channel 1> on atapci1
> > atapci2: <Intel ICH7 SATA300 controller> port
0xe400-0xe407,0xe080-0xe083,0xe000-0xe007,0xdc00-0xdc03,0xd880-0xd88f mem
0xfebfb800-0xfebfbbff irq 23 at device 31.2 on pci0
> > atapci2: AHCI Version 01.10 controller with 4 ports detected
> > ata5: <ATA channel 0> on atapci2
> > ata6: <ATA channel 1> on atapci2
> > ata7: <ATA channel 2> on atapci2
> > ata8: <ATA channel 3> on atapci2
>
> Two issues: atapci1 has no irq but it's in the same slot as atapci2
> (31.1 vs. 31.2). So it looks like this single controller is getting
> detected as two different devices? Perhaps one is compat mode (udma100)
> and one is SATA. In this case, it's ATA's fault for not setting this up
> right.
This is very normal and I see this all the time where the PATA part is a
separate PCI function from the SATA part.
> Also, I see that atapci0 is incorrect in ports detected versus reported.
> It says "2 ports detected" but reports 3 ports (ata2-4).
This is likely harmless as well.
> > atapci0: <JMicron JMB363 SATA300 controller> port
0xac00-0xac07,0xa880-0xa883,0xa800-0xa807,0xa480-0xa483,0xa400-0xa40f mem
0xfe8fe000-0xfe8fffff irq 17 at device 0.0 on pci2
> > atapci0: AHCI Version 01.00 controller with 2 ports detected
> > ata2: <ATA channel 0> on atapci0
> > ata3: <ATA channel 1> on atapci0
> > ata4: <ATA channel 2> on atapci0
>
> So my guess is that one or more of these ATA issues is the cause.
Probably not. His issue is that some device that _isn't_ on IRQ 23 in the
_PRT tables, actually _is_ on IRQ 23. The key is to find out what device
(not atapci2) is generating those interrupts. Turning each device off
individually to test can figure this out.
--
John Baldwin
More information about the freebsd-acpi
mailing list