Best Practices - interrupt storm

Charles Howse chowse at charter.net
Tue May 23 11:35:47 PDT 2006


Thanks very much, I'll also make a note to check the FAQ before posting.

On May 23, 2006, at 10:45 AM, fbsd wrote:

> Stray irq 7 messages
> The FBSD FAQ entry says
>
> 5.24. What does ``stray IRQ'' mean?
>
> Stray IRQs are indications of hardware IRQ glitches, mostly from
> hardware that removes its interrupt request in the middle of the
> interrupt request acknowledge cycle.
>
> One has three options for dealing with this:
>
> 1. Live with the warnings. All except the first 5 per IRQ are
> suppressed anyway.
>
> 2. Break the warnings by changing 5 to 0 in isa_strayintr() so that
> all the warnings are suppressed.
>
> 3. Break the warnings by installing parallel port hardware that uses
> IRQ 7 and the PPP driver for it (this happens on most systems), and
> install an IDE drive or other hardware that uses IRQ 15 and a
> suitable driver for it.
>
> ********** End of FAQ # 5.24 *********************************
>
> The number 3 item above is false, the ATA IDE standard is the
> primary IDE channel master and slave devices use IRQ 14 and the
> secondary IDE channel master and slave devices use IRQ 15. IRQ 15 is
> also used by many NIC cards. A printer attached to the parallel port
> uses IRQ 7, and the annoying bogus stray IRQ 7 messages still gets
> issued. So you are left with two options, learn to deal with it, or
> hack the code to make it go away.
>
> To stop the annoying bogus stray IRQ 7 messages you can hack the
> source where these messages originate from and change the counter
> value 5 to 0 so the messages will no longer be issued.
>
> isa_strayintr lives in   /usr/src/sys/i386/isa/intr_machdep.c
>
> cd /usr/src/sys/i386/i386/
>
> cp intr_machdep.c intr_machdep.c.org      # make backup of original
>
> ee intr_machdep.c
>
>
>
> Find isa_strayintr to locate the start of the stray IRQ 7 logic
>
> change this
>
> if (intrcnt[1 + intr] <= 5)
>
> To this
>
> if (intrcnt[1 + intr] <= 0)
>
> Recompile your kernel source and those stray IRQ 7 messages are
> gone. Document this some place for yourself just in case you
> reinstall from CDROM. Remember that if you cvsup update your source
> to upgrade to next stable release, your 'stray IRQ 7 hack' will be
> stepped on and return back to the official FBSD version. You will
> have to reapply this hack.
>
>
>
>
> -----Original Message-----
> From: owner-freebsd-questions at freebsd.org
> [mailto:owner-freebsd-questions at freebsd.org]On Behalf Of Charles
> Howse
> Sent: Tuesday, May 23, 2006 10:14 AM
> To: FreeBSD Questions
> Subject: Best Practices - interrupt storm
>
>
> Hi,
> FreeBSD 6.1-RELEASE, cups-1.1.23.0_1, HP 1100 LaserJet
>
> I've found quite a bit of information about how to deal with:
> "Interrupt storm detected in "irq7:"; throttling interrupt source"
>
> Problem is, it's a little confusing.
>  From what I've gathered, the options are:
> Use the BIOS to set the printer port to ECP,
> Use lptcontrol to set the port to polled mode,
> Use device.hints to do both
>
> IIRC, in the past, I have used lptcontrol to set polled mode, but
> that resulted in:
> "too many stray irq7's, not logging any more"
>
> Can anyone suggest a method to make both "interrupt storm" and "too
> many stray irq7's" go away?
>
> --
> Thanks,
> Charles
> http://bubbabbq.homeunix.net
>
>
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe at freebsd.org"

--
How I make Great Barbecue -
http://bubbabbq.homeunix.net/bbq.html




More information about the freebsd-questions mailing list