> My take on IRQ sharing is: unless you have seperate channels (as with IDE,
> etc), everything bound to the interrupt will be interrupted at the same
> time... which will cause problems in many cases.. I had 2 things on the
> same IRQ one time on accident.. one of them was my sound card.. the sound
> would work fine.. but it would sorta loop every couple seconds.. so I knew
> it was on the same interrupt as something else.. and prolly with something
> that was calling the interrupt for probing reasons or whatever.. I think
> it ended up being the USB host or parallel port or something.

Having done the hardware design (and a little bit of tinkering with
device drivers) for a couple of PCI cards, that should not happen with
interrupt sharing. It sounds like someone's really crappy hardware
design for a sound card, though possibly also the device driver.

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.

> 
> Only one thing can be interrupted at a time.. 

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.

> I hate IRQ sharing.. the x86
> is so restrictive.. you have like IRQ's 3 and 4 for serial ports, 5 is
> open but usually used for audio, 7 is open but usually used for parallel
> port, 9 I was once told was linked with 2 and is the funky IRQ, 10 is
> usually free but now adays is used for the USB host (or NIC in my case),
> 11 is available unless you have yer AGP on it like I do. Which is it.. 10
> or 11 is that weird IRQ with the 8/16bit thing. In any event.. I don't
> have a USB host due to limitations. I've plum run out of IRQs and I don't
> have all that much stuff in this thing.

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.

The best solution is, if you determine that a card is causing problems,
throw it in the trash and never buy from that company again.

Duane



_______________________________________________
Redhat-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/redhat-list

Reply via email to