irq19 interrupt storm?
John Baldwin
jhb at freebsd.org
Wed Sep 17 21:18:51 UTC 2008
On Wednesday 17 September 2008 11:00:24 am Scott Gasch wrote:
> You're right: atapci1, atapci2, fwohci0 and uhci4 are all sharing the same
> irq (19) while irqs 20, 21, 22 at least seem completely unused. Here's a
> dumb question: how do I fix it? I tried setting "plug and play OS" in the
> BIOS and then using device.hints to push different devices to different
> irqs. But every time I tried a new hint it seemed to be ignored. I was
> trying stuff like:
>
> set hint.atapci.1.irq="20"
> set hint ata.4.irq="20" (ata4 is a channel on atapci1)
> set hint fwhco.0.irq="20"
> etc...
>
>
> I also tried to move the dc driver to a new irq as a test. This was also
> seemingly ignored.
>
> I then tried turning "plug and play OS" off in the BIOS but I don't see
> anywhere to set the IRQs of the onboard SATA controllers via the menus. I'm
> looking for a BIOS upgrade now... any other advice?
Unfortunately you can't really move PCI IRQs around. You can read about more
of the gritty details here:
http://people.freebsd.org/~jhb/papers/bsdcan/2007/
You might be able to shuffle some IRQs around using 'hw.pciX.Y.INTA.irq'
tunables.
Probably you have a device driver whose interrupt handler isn't handling some
condition. I would suspect ata as it's interrupt handler is rather
simplistic with no chipset-specific hooks, and I've seen several reports of
interrupt storms with ata(4) recently.
> Thx,
> Scott
>
>
> On Tue, Sep 16, 2008 at 7:12 AM, Gary Jennejohn
> <gary.jennejohn at freenet.de>wrote:
>
> > On Mon, 15 Sep 2008 22:57:38 -0700
> > "Scott Gasch" <scott.gasch at gmail.com> wrote:
> >
> > > Hi,
> > >
> > > I'm running freebsd 7.0-RELEASE-p4 on a 4-core amd64 box. Nearly 100% of
> > > 1 cpu is constantly being used handling irq19: uhci4 interrupts. This
> > > seems to happen both with and without any USB devices plugged in:
> > >
> > > vmstat -i
> > > interrupt total rate
> > > irq1: atkbd0 5 0
> > > irq6: fdc0 1 0
> > > irq17: mskc0 dc0 1180547 18
> > > irq18: skc0 uhci2* 163250699 2512
> > > irq19: uhci4++ 3187989508 49072
> >
> > I think the ++ here indicates that two or more devices are sharing this
> > interrupt. Try doing "grep irq.*19 /var/run/dmesg.boot" to see which
> > ones. One of these devices could be the culprit.
> >
> > ---
> > Gary Jennejohn
> >
> _______________________________________________
> freebsd-amd64 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-amd64
> To unsubscribe, send any mail to "freebsd-amd64-unsubscribe at freebsd.org"
>
--
John Baldwin
More information about the freebsd-amd64
mailing list