Re: new IRQ scalability changes in 2.3.48

From: yodaiken@chelm.cs.nmt.edu
Date: Fri Mar 03 2000 - 08:20:10 EST


On Sun, Feb 27, 2000 at 04:04:13PM +0100, Ingo Molnar wrote:
> - per-IRQ-source spinlocks and per-IRQ-controller spinlocks
> increasing scalability: now two IRQ handlers on two CPUs
> can run do_IRQ in parallel. Note that level-triggered PCI IRQ
> handlers never actually take the IRQ-controller spinlock in the
> 'IRQ handling fast path'.

This change puts spinlock back into the low level irq code -- and I took
them out specifically to make RTLinux work and to make Linus happy since
he was concerned about minimizing the number of spinlocks. The
"optimization" means that you can, in parallel run a tiny section of code
that is called infrequently -- if there is any performance gain at all, it
comes at the expense of introducing extra spin locks, making the low
level code bigger and therefore less cache friendly, and causing an
additional check for irq status which is quite expensive on some hardware
(including x86).

I don't see the "fast path" in a first look at the code. Are you now
skiping "do_irq" for some interrupt handlers?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Mar 07 2000 - 21:00:14 EST