Re: PATCH 2.4.0.10.3: pc_keyb and q40_keyb cleanup

From: Jeff Garzik (jgarzik@mandrakesoft.com)
Date: Tue Oct 17 2000 - 18:21:04 EST


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