lkml.org 
[lkml]   [1998]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Shared edge triggered interrupts
Linus Torvalds wrote:
>
> On Thu, 6 Aug 1998, Arun Sharma wrote:
> >
> > On doing a net search, I found this posting of yours:
> >
> > > >Some system info:
> > > > CPU0 CPU1 CPU2 CPU3
> > > > 0: 18424 30176 149440 30416 IO-APIC-edge timer
> > > > 1: 404 759 3781 761 IO-APIC-edge keyboard
> > > > 2: 0 0 0 0 XT-PIC cascade
> > > > 9: 8907 17891 88969 17802 IO-APIC-edge Intel EtherExpress Pro 10/100 Ethernet
> > > > 10: 2284 3206 16302 3345 IO-APIC-edge aic7xxx
> > > > 11: 45 3 3 8 IO-APIC-edge aic7xxx
> > > > 12: 1257 2539 12729 2487 IO-APIC-edge PS/2 Mouse
> > > > 13: 1 0 0 0 XT-PIC fpu
> > > > 14: 3 0 0 0 IO-APIC-edge ide0
> > > >NMI: 0
> > > >IPI: 0
> > >
> > > and having shared edge-triggered interrupts is something that is very
> > > obviously not ever going to work reliably (Linux could try harder to
> > > make it work, but that would just make the problems happen less often
> > > rather than go away completely).
> >
> > I would like to understand why this is so, while other operating systems
> > handle it just fine.
>
> Edge triggered shared interrupts simply do not work reliably, because you
> get a setup where interrupts can get "lost" (one device starts asserting
> the interrupt, and when another device comes along and asserts the same
> interrupt now the other device no longer gets an "edge" at all any more.
>
> See? You got only one edge, even though two devices accessed the
> interrupt.

This makes good sense to me. I'm thinking that the kernel could detect the
shared edge-triggered condition and give me a warning, though. I had no idea
that this was a problem until I got aiee's. That's my system info up there,
BTW. I would like to know if this is the cause of the interrupts being
edge-triggered:

Aug 5 10:14:38 goodhead kernel: ENABLING IO-APIC IRQs
Aug 5 10:14:38 goodhead kernel: init IO_APIC IRQs
Aug 5 10:14:38 goodhead kernel: IO-APIC pin 0broken BIOS, changing pin 9 to edge
Aug 5 10:14:38 goodhead kernel: broken BIOS, changing pin 10 to edge
Aug 5 10:14:38 goodhead kernel: broken BIOS, changing pin 11 to edge
Aug 5 10:14:38 goodhead kernel: not connected.

and, if possible, more info (or pointers to it) about exactly what
"broken BIOS" means.

Noah

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html

\
 
 \ /
  Last update: 2005-03-22 13:43    [W:0.051 / U:0.472 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site