[Techtalk] Spurious kernel interrupt?

Maria Blackmore mariab at cats.meow.at
Thu Aug 29 22:51:41 EST 2002

On Thu, 29 Aug 2002, Terri Oda wrote:

> I was tailing /var/log/messages today and this popped up:
> Aug 29 16:25:09 ostraya kernel: spurious 8259A interrupt: IRQ7.
> Does anyone know what it means?  I did a grep -c and found that I've got 24
> instances of spurious kernel interrupts in the file (Which was started in
> January), if that helps.  IRQ7 isn't anything right now.

Hmmm, interesting

the 8259A is the original interrupt controller used in the IBM XT, the
very first PC, it is a PIC, or programmable interrupt controller.  
Nothing actually contains an actual 8259A nowadays, just lots of things
that pretend to be it, standards and all that.  A spurious interrupt is ..
an interrupt that's spurious, that is to say unexpected, which would match
up with what you say that nothing is on IRQ7.  This bawsically means that
something generated an interrupt, and the PIC looked for what it was, and
couldn't find anything, so went kind of "hmmm" and carried on.

As for what is causing it, it could be a number of things.  There could be
interference that is causing a level on a line to go just above the
trigger level required for an interupt, it could be a printer port that is
enabled, but doesn't have a driver for it loaded in the linux kernel.  It
could be another piece of hardware that is enabled, but doesn't have a
driver loaded, a serial port, a sound card.

Some people have noted that they find this happens when they are using a
kernel that has APIC support turned on and they are using the kernel on a
single CPU machine that doesn't have an APIC (APIC being Advanced PIC :) -
all multiple CPU (PC) machines have an APIC.

In any case, it will do your machine no great harm.  There will probably
be some underlying issue that is causing this, such as the hardware
suggestions above, or intereference, or the phase of the moon, or
sunspots, or the fact that it is the first Saturday after first full moon
in Winter (http://www.cs.wisc.edu/~ballard/bofh/) :)

There has been some discussion on this on the Linux Kernel Mailing List,
where you will probably find some much more in depth discussion and
explanation of this, archives are at
http://www.uwsg.iu.edu/hypermail/linux/kernel/ .  I've done a quick
search, but cursory investigation doesn't show up much more detail that I
have gone into, though I did find hints towards an in depth thread about
this very subject at some indeterminate point in the past.

As I said, it's nothing to worry about, and far less scary than this
wonderful message:
Jun 26 16:09:57 mariab kernel: lp0 on fire

For those of you who are interested, the 8259A is an 8 channel
programmable interrupt controller, vintage of the original IBM XT era, the
reason that modern PCs have 16 interrupts (of which you can use 15) is
that they expanded the number of interrupts available by chaining two of
them together via interrupt two, which is why you always see interrupt 2
in /proc/interrupts listed as "cascade".  I would guess that many of you
know this already, but I thought some people might find this interestin.

Have Fun


More information about the Techtalk mailing list