Messages in this thread | | | Date | Fri, 07 Aug 1998 09:25:35 -0500 | From | Noah Beck <> | Subject | Re: 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
| |