Andrea Arcangeli wrote:
>
> On Tue, Oct 17, 2000 at 05:26:23AM -0400, Jeff Garzik wrote:
> > Well, the -spin lock- exists for serialization. My question is.... Why
> > does pc_keyb irq handler disable local irqs for this case? What is the
> > race/deadlock that exists with spin_lock in the irq handler, but does
> > not exist with spin_lock_irqsave in the irq handler?
>
> As said the save part isn't necessary.
>
> This is a trace of the deadlock:
>
> irq 2 runs
> keyboard_interrupt
> irqs are been left enabled
> spin_lock()
> here irq 12 runs
> keyboard_interrupt
> here doesn't matter if irqs are enabled or disabled of course
> spin_lock() -> dealdock
Thanks a bunch Andrea. That's the piece I was looking for -- I didn't
know that two different irqs were calling the same code. Learn
something new every day :)
I wonder if q40_keyb has the same thing to worry about....
-- Jeff Garzik | The difference between laziness and Building 1024 | prioritization is the end result. MandrakeSoft | - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon Oct 23 2000 - 21:00:12 EST