public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* RE: spurious 8259A interrupt
@ 2004-03-16 20:32 Robert_Hentosh
  2004-03-19 13:06 ` Jamie Lokier
  2004-03-19 13:28 ` Maciej W. Rozycki
  0 siblings, 2 replies; 27+ messages in thread
From: Robert_Hentosh @ 2004-03-16 20:32 UTC (permalink / raw)
  To: fleury, linux-kernel

> From: linux-kernel-owner@vger.kernel.org 
> [mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of 
> Emmanuel Fleury
> Sent: Tuesday, March 16, 2004 12:36 PM
> 
> 
> Hi,
> 
> I noticed today that I had several "spurious 8259A interrupt":
> 
> Dec 20 15:02:45 hermes vmunix: spurious 8259<3>[drm:radeon_cp_init]

  :: SNIP ::

So a co-worker of mine (Stuart Hayes) did some digging into this issue.
What he found after putting a scope on the system was, in our situation
it was harmless:

The problem was actually caused by another IRQ (in our instance it was
IRQ10 associated with a gigabit NIC). The following steps took place:

>  IRQ10 asserted
>  INTACK cycle lets PIC deliver vector to processor
>  processor masks IRQ10 in PIC
>  processor sends EOI command to PIC
>  processor reads a status register in the NIC, which causes IRQ10 to
be deasserted
>  processor unmasks IRQ10 in PIC
>
> Sometimes the processor would unmask IRQ10 almost immediately after
reading the status
> register in the NIC, which results in IRQ10 being unmasked before the
IRQ10 signal has
> finished going high.  This causes the PIC to think that there is
another IRQ10, but, 
> by the time the processor asks for the vector, IRQ10 is no longer
asserted.

The PIC defaults to IRQ7 because of its design, when IRQ10 was already
cleared. Sticking delays in is not viable in a generic ISR routing.  A
possible fix to this issue would be to issue the EOI after the read to
the status register on the NIC, and I see some documentation on the PIC
that actually suggests that this is the way to service an interrupt.
This seemed like a risky change, since sending the EOI and using the
mask has been in use for some time and the change would effect all
devices using interrupts.

The spurious IRQ performance impact is negligible since it is logged
only once per IRQ at most.


^ permalink raw reply	[flat|nested] 27+ messages in thread
* spurious 8259A interrupt
@ 2004-03-16 18:35 Emmanuel Fleury
  0 siblings, 0 replies; 27+ messages in thread
From: Emmanuel Fleury @ 2004-03-16 18:35 UTC (permalink / raw)
  To: linux-kernel

Hi,

I noticed today that I had several "spurious 8259A interrupt":

Dec 20 15:02:45 hermes vmunix: spurious 8259<3>[drm:radeon_cp_init]
*ERROR* radeon_cp_init called without lock held
...
Dec 20 16:54:17 hermes vmunix: spurious 8259A interrupt: IRQ7.
...
Jan  3 11:29:06 hermes vmunix: spurious 8259A interrupt: I<6>cs: memory
probe 0xa0000000-0xa0ffffff: clean.
...
Feb 29 12:59:39 hermes vmunix: spurious 8259A in<4>atkbd.c: Keyboard on
isa0060/serio0 reports too many keys pressed.
...
Mar  1 00:03:12 hermes vmunix: spurious 8259A interrupt:
I<3>[drm:radeon_cp_init] *ERROR* radeon_cp_init called without lock held
...
Mar  8 03:11:24 hermes vmunix: spurious 8259A interrupt:
I<7>orinoco_lock() called with hw_unavailable (dev=d5a80000)


After some Googling, I found out this:
http://test.linuxfromscratch.org/faq/#spurious-8259A-interrupt

So, I know it is no harm. But, it is possibly due to a device driver
which is not properly doing its job. Can somebody tell me how to correct
this bug (without have the work around of tingling klogd).

Regards
-- 
Emmanuel Fleury

Computer Science Department, |  Office: B1-201
Aalborg University,          |  Phone:  +45 96 35 72 23
Fredriks Bajersvej 7E,       |  Fax:    +45 98 15 98 89
9220 Aalborg East, Denmark   |  Email:  fleury@cs.auc.dk


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2004-03-24 15:59 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-03-16 20:32 spurious 8259A interrupt Robert_Hentosh
2004-03-19 13:06 ` Jamie Lokier
2004-03-19 13:16   ` Russell King
2004-03-19 13:39     ` Jamie Lokier
2004-03-19 14:04       ` Anton Blanchard
2004-03-19 14:56         ` Jamie Lokier
2004-03-19 13:48   ` Richard B. Johnson
2004-03-19 14:39     ` Jamie Lokier
2004-03-21 17:58     ` Hans-Peter Jansen
2004-03-22  9:12       ` Maciej W. Rozycki
2004-03-22 12:29       ` Richard B. Johnson
2004-03-24 15:28         ` Jamie Lokier
2004-03-24 15:50           ` Gabriel Paubert
2004-03-24 15:57           ` Richard B. Johnson
2004-03-19 13:28 ` Maciej W. Rozycki
2004-03-19 22:01   ` Guennadi Liakhovetski
2004-03-22  9:02     ` Maciej W. Rozycki
2004-03-22 21:16       ` Guennadi Liakhovetski
2004-03-22 22:13         ` Richard B. Johnson
2004-03-22 23:09           ` Guennadi Liakhovetski
2004-03-22 23:38             ` Richard B. Johnson
2004-03-23 10:32               ` Maciej W. Rozycki
2004-03-23 10:42             ` Maciej W. Rozycki
2004-03-23 21:10               ` Guennadi Liakhovetski
2004-03-23 10:29           ` Maciej W. Rozycki
2004-03-23 10:26         ` Maciej W. Rozycki
  -- strict thread matches above, loose matches on Subject: below --
2004-03-16 18:35 Emmanuel Fleury

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox