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 [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to