Cc: Dave Jones <davej@...>, Roland Dreier <rdreier@...>, Linus Torvalds <torvalds@...>, David Miller <davem@...>, <jeremy@...>, <hugh@...>, <mingo@...>, <akpm@...>, <linux-kernel@...>, arjan <arjan@...>
On Mon, 2008-08-04 at 22:15 +0200, Andrea Arcangeli wrote:
You're so wrong it not even funny. It reports about deadlocks before
they happen. All it needs is to observe a lock order violation and it
will report it. In order for the dead-lock to happen, you need to
actually hit the violation concurrently with the normal order.
IOW, lockdep can even spot deadlocks on a non-preempt single cpu setup
where they can never actually happen.
Furthermore, it does more than the simple lock deadlocks, it also takes
IRQ state into account. So it can tell about hard or soft irq recursion
deadlocks.
Having lockdep on while developing saves a lot of trouble - in fact it
_has_ caught many real bugs before they could be introduced to mainline,
ask Arjan who has supervised driver development.
Not only that, it caught plenty of real bugs in mainline as well as -rt.
These days it appears to not catch many because the tree is in such good
shape, but that is fully thanks to lockdep.
That is not to say it's perferct - lockdep certainly does have it
limitations. But your portrail is very in-accurate.
--