ACPI floods CPUs with interrupts

John Baldwin jhb at FreeBSD.org
Fri Apr 23 11:08:10 PDT 2004


On Thursday 22 April 2004 09:51 am, Artem Koutchine wrote:
> > 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.

ACPI is not totally broken on all motherboards.  Can you try adding 
'hw.acpi.force_sci_lo=1' to /boot/loader.conf and rebooting to see if it 
works better?

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-hardware mailing list