Re: Need lockdep help

From: Jarek Poplawski
Date: Tue Dec 04 2007 - 15:11:56 EST


Alan Stern wrote, On 12/04/2007 08:28 PM:

> On Tue, 4 Dec 2007, Jarek Poplawski wrote:

...

> But you have to consider hypothetical kernel bugs. That's exactly what
> lockdep is for -- to warn you about possible deadlocks that could be
> caused by bugs.
>
> As a simple example, if thread #1 does "lock(A); lock(B)" and thread
> #2 does "lock(B); lock(A)" then there's a possible bug. Lockdep should
> warn about you, and it does -- even if those two threads can never run
> at the same time.
>
> If lockdep warned about deadlocks only when they actually happened, it
> wouldn't be nearly so useful.


Sure! I probably missed your point... Lockdep always names reported locks,
so I meant 'hypothetical' only trying to explain lockdep with some other,
unknown or unnamed bugs.

So, depending on the code, above example with A & B could be a real bug
(even if very improbable but logically justified) or a false alarm (eg.
when we know both threads could never work at the same).

Jarek P.
--
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/