Re: [patch 08/19] mutex subsystem, core

From: Ingo Molnar
Date: Tue Jan 03 2006 - 10:41:44 EST



* Linus Torvalds <torvalds@xxxxxxxx> wrote:

> On Tue, 3 Jan 2006, Ingo Molnar wrote:
> > >
> > > Is this an interrupt deadlock, or do you not allow interrupt contexts
> > > to even trylock a mutex?
> >
> > correct, no irq contexts are allowed. This is also checked for if
> > CONFIG_DEBUG_MUTEXES is enabled.
>
> Note that semaphores are definitely used from interrupt context, and
> as such you can't replace them with mutexes if you do this.
>
> The prime example is the console semaphore. See kernel/printk.c, look
> for "down_trylock()", and realize that they are all about interrupts.

yeah, i know - and i'm not trying to replace _all_ semaphore uses.
down_trylock() is used only 54 times in drivers/*, while down() is used
2986 times. And even of those 54 cases, only a small minority does it
from an IRQ context.

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