Re: PCI/IRQ hardware question
Rick Miles <[email protected]>
| Newsgroups | gmane.org.user-groups.mlug.main |
|---|---|
| Message-ID | <[email protected]> |
Robert Moonen is a darn nice person I don't care what anybody says! > > Kernel irq sharing in no way implies hardware irq sharing capabilities. > Perhaps it is a matter of my wording, say, share as in process, or share as in bed.. My initial search led me to correspondence between kernel hackers but the excerpts below from an email on another list at another time seems to imply the same sort of thing in a more understandable way. <snip> What happens when cards are sharing interrupts is that when the interrupt is received, the kernel queries each driver that is using the interrupt, basically asking "Was that your interrupt?". The driver in turn reads the appropriate register on it's PCI card to determine whether it was the one, and responds accordingly. When the device is found, the interrupt service routine for it is executed. Pretty simple, and when used correctly it works quite well. And the vast majority of cards and drivers out there do use it correctly. <snip> Sorry, not true. Only one interrupt can be serviced at a time (if you only have one processor), but that is the case regardless of whether or not the interrupt is shared. <snip> I agree that the Intel interrupt model is somewhat wacky. But I can confidently predict that virtually everyone on this list is sharing interrupts, without problems. In my case, my sound chip is sharing interrupt 11 with the an ethernet card, and my video card is sharing interrupt 10 with my other ethernet card. If you only have one processor in your machine, it is only capable of doing one thing at a time. But it sure seems like you can have many tasks going simultaneously; my computer is engaged in SETI at the same time I am typing this, with no apparent affect. And that is due to each task being repeatedly interrupted, so fast that I cannot notice it. The same is true for handling of other hardware interrupts. <snip> The complete email can be found here: https://www.redhat.com/archives/redhat-list/2001-January/msg01857.html ......... -- Cheers, Rick Miles Movement stopped is no movement, and rest set in motion is no rest. Written on Boomtime, the 64th of Discord, 3171 http://www.members.optusnet.com.au/~rickfrm/