[SGVLUG] More laptop fun--IRQ assignments
Dustin
laurence at alice.caltech.edu
Thu Dec 8 06:07:58 PST 2005
On Tue, 6 Dec 2005, David Lawyer wrote:
> You must be using PCI which allows sharing IRQs.
PCI-Express, actually. ISA is actually two generations out of date
now.... (and thank God for that--it sucked royally)
> ...When a device issues
> such an interrupt, all the drivers that share the IRQ have to run
> sequentially.
And normally, I think that's just fine. My worry is getting the sound
card latency driven down to single-digits.
> ---------------Next 2 pars. probably of no help, but---------------
On the contrary, it answers a key question that has been bothering me.
> Now about IRQ assignments. They may be restricted by a limited number
> of traces on the MB and by the way these traces (perhaps only 4) are
> hardwired to PCI interrupts. Each PCI card has only 4 possible
> interrupts:
> Now an "idiot" hardwiring scheme for bonding 4 interrupt traces to all
> the PCI slots is to just connect all pci-interrupts A (for all slots) to
> trace1, all B to trace2, etc. Then if all PCI cards have only one
> function, they all use interrupt A and trace1. Trace1 can only be
> mapped to only one IRQ. So no matter how one maps this design,
> everything gets the same IRQ unless a card contains more than one
> function (device).
Ah. This makes some sense. I suspect it's at least part of the reason
the docs I found seem contradictory about whether you can actually re-map
IRQs in the OS or not.
I guess I'd have to contact Asus about this.
> <asm/io_apic.h> has a function: io_apic_set_pci_routing which can
> attempt routing (redirecting) irqs. Some call it a pin-to-irq map
> with the pin being a PCI interrupt pin. asm may be asm-386 in newer
> kernels. The io_apic.c kernel code is what may need to be patched. I
> noticed on the Internet that someone who had a similar problem
> (everything on one irq) patched io_apic.c and submitted the fix.
URL?
> and if it's buggy then the mapping may not work right. You could
> search the patches to io_apic.c. There are a lot of them.
The patch I am aware of is
http://users.informatik.uni-halle.de/~ladischc/ioapic_priorities.html
which as you say is outdated. I am unaware of patches for newer kernels.
> ...Or you
> could just try linux-image-2.6.14 in Debian.
This is Gentoo. :-)
That said, of course I could just build my own and use any I like. It's a
bit complicated because I am already carrying around some other patches,
and mostly that I am distracted by other things.
Dustin
More information about the SGVLUG
mailing list