Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 May 2006 11:45:58 -0400
From:      "fbsd" <fbsd@a1poweruser.com>
To:        "Charles Howse" <chowse@charter.net>, "FreeBSD Questions" <freebsd-questions@freebsd.org>
Subject:   RE: Best Practices - interrupt storm
Message-ID:  <MIEPLLIBMLEEABPDBIEGKEKPHHAA.fbsd@a1poweruser.com>
In-Reply-To: <302D38D7-E688-47B7-859F-5DDB56E2A2EB@charter.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org
[mailto:owner-freebsd-questions@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@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to
"freebsd-questions-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?MIEPLLIBMLEEABPDBIEGKEKPHHAA.fbsd>