Messages in this thread | | | From | Roland Dreier <> | Subject | Re: [PATCH] workaround minor lockdep bug triggered by mm_take_all_locks | Date | Tue, 05 Aug 2008 05:02:07 -0700 |
| |
> Let's focus on check_deadlock->print_deadlock_bug and somebody who's > not beyond the point please explain what print_deadlock_bug reports > that does not actually occur and why it's a good idea to change the > common code to accommodate for its false positives instead of getting > rid of it for good.
check_deadlock operates on classes of locks, so it can warn about potential deadlocks, eg if we have
foo(obj1, obj2) { lock(obj1); lock(obj2); ...
then foo(obj, obj); is a deadlock but lockdep can warn about foo(obj, different_obj) without triggering the deadlock in reality. Of course this leads to false positives, and we sometimes have to change correct code to help lockdep, but usually such rewriting leads to simpler clearer better locking anyway.
- R.
| |