ACPI floods CPUs with interrupts

Artem Koutchine matrix at itlegion.ru
Thu Apr 22 06:54:07 PDT 2004


> On Tuesday 20 April 2004 09:31 am, Artem Koutchine wrote:
> > I have installed FreeBSd 5.2-RC2 on ASUS P2B-DS
> > with 3ware raid controller and DUAL PIII (slot2) 550Mhz.
> > Updated motherboard bios to
> > the latest bios and after patching the twe driver, so it does not
> > show the "PCI parity erro" several times a second. (I think
> > it is related to the fact that 3ware 7506 controller is pci 2.2
> > while p2b is pci 2.1). After that i did top and saw that
> > 50% of cpu power is wasted on interrupts. I did
> > sysstat and :vmstat. It showed that 46700 interrupts per
> > second were generated by acpi on irq 20. So, i booted without
> > acpi and got 100% cpu idle. The question is:
> > How ACPI can generate IRQs? I thought it is just some kind
> > of interface and protocol standard, not > a real hardware part which 
> > can rise irq. Why does it generate so many irqs? May it be related
> > to the PCI parity error on twe?
> 
> It is because the ACPI interrupt is programmed incorrectly (due to a buggy 
> BIOS) and is treated as edge triggered when it is actually level triggered.
> You can try updating to -current to see if that fixes it.

Cvsupped -current today and built world and installed new kernel. Now it
actually detects the interrupt storm and does what it calles 'thottling' to the
source of the interrupts. Now i get only 9000 ints per second and it eats
abouts 10% of the CPU. I still do not consider it a good idea and i cannot 
update bios because the latest update was in 2002 and since then asus made
no changed to it. So i just did hint.acpi.0.disabled="1"  and disabled acpi.
Now i have all 100% of cpu to do something usefull. ACPI is a good thing
but it is totally broken on all motherboards. Too bad.

Artem


More information about the freebsd-hardware mailing list