Re: 5 devices sharing one irq
- From: dolcepa@xxxxxxxxx
- Date: 22 May 2007 04:37:41 -0700
hi and thank you for answering, I have 4 usb slots in the back of my
cpu, and 2 in the front pane,
And the usb devices I use are a external hard disk, a modem-router
(although in that moment I was not using this usb modem, but a router,
which one don use any usb slot, also a printer, but I was using it
either nor I have installed,
Then I assume that although I am not using this usb slots, they could
cause a high interrupt load? The main reason I'm worried about it itś
for the malfunctioning of my monitor. So maybe these irq shares are
not the cause?
Cheers
On 21 mayo, 21:47, Tim S <t...@xxxxxxxxxx> wrote:
I would assume on your hardware that they are all PCI devices, in which
case, there is unlikely to be a problem. Never seen USB on an ISA bus,
though that doesn't mean it was never done, just very unlikely.
A well written device driver has a "top half" and a "bottom half" handler.
<quick google to check my terminolgy>
Ah... OK - my *basic* understanding is:
The top half typically is what is wired to the interrupt and should complete
quickly.
First, each registered top half handler for that interrupt is called in turn
(these are what you are seeing in /proc/interrupts) and each driver handler
decides if the interrupt was generated by *their* hardware (check a
register or somesuch).
If so:
If there is much and/or slow or work with an indeterminate time to complete,
then the top half handler will schedule a tasklet to run later at the
kernel's earliest convenience (in practice that should be "real soon now,
but not in this interrupt routine"). Else the routine might just do its
simple and quick job in place.
Then onto the next top half handler (two IRQs may have been fired
simultaneously, so 2 or more devices might be waiting for service).
Meanwhile, outside of the interrupt handlers, the queued bottom half
tasklets get scheduled in some sort of orderly manner.
In short, the linux kernel is designed to handle it gracefully for PCI/AGP -
ISA is another story.
In practice, some suspect motherboards, bad hardware or either with dodgey
timings (like an overclocked mobo) can go weird under high interrupt load
if the interrupts are shared. I've had a fair bit of trouble with Abit
boards, aggressive timings and high disk+network load where the IE and NIC
share the same interrupt. Result - instability upon high NFS load, then
freeze. Jiggling the BIOS timings fixed it. Never had a problem on decent
boards though.
As to your USB devices, they are probably all on the same type of hardware
or even the same chip, so it would be expected to see them share an
interrupt. I've never seen a problem with usb + couple of other random
things on an IRQ, though I bet someone somewhere has.
As to re-assigning IRQs - either it's impossible, or the bIOS may have a way
to reset PCI config data or even allocate IRQ - depends bery much on the
BIOS and board.
HTH
Tim
.
- References:
- 5 devices sharing one irq
- From: dolcepa
- Re: 5 devices sharing one irq
- From: Tim S
- 5 devices sharing one irq
- Prev by Date: Re: 5 devices sharing one irq
- Next by Date: Re: large raid array and fedora 5
- Previous by thread: Re: 5 devices sharing one irq
- Next by thread: sata2 "raid" support in latest kernels?
- Index(es):
Relevant Pages
|