Peter Svensson wrote:
>
> On 17 Dec 1998, Linus Torvalds wrote:
>
> > It's not that Linux decides on using irq16. It's that Linux is told
> > that irq 16 is where things are at, so that's why Linux sets up the
> > party at that irq.
>
> How big is the actual speed penalty for sharing irq:s? Is there an
> additional penalty on smp systems?
The actual penalty in the aic7xxx driver is two fold on a bogus IRQ.
One, we grab a kernel lock for the driver, and two we do a
test_and_set_bit() on a driver data structure. Then, we call into our
function, we find nothing to be done, we jump back out, we release
things, and we exit. It's not the worst, but it could possibly be
better on a spurious interrupt as well (although not easily, since
you'll see if you check the aic7xxx_isr() code that we *do* actually do
something with spurious interrupts so I need to have the driver locked
just in case we hit that magical 500 number and have to clear a PCI bus
retry condition or some such).
Just so you know though, it isn't a problem in real practice:
8: 1 + rtc
9: 483377 aic7xxx, aic7xxx, aic7xxx, aic7xxx, aic7xxx, aic7xxx,
aic7xxx, Intel EtherExpress Pro 10/100 Ethernet
10: 18581 scb0
That's seven aic7xxx busses on one interrupt under 2.0.36 and they only
marginally spread out better with the IO-APIC code in 2.1.131
--
Doug Ledford <[EMAIL PROTECTED]>
Opinions expressed are my own, but
they should be everybody's.
-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]