* Remy Bohmer <[EMAIL PROTECTED]> wrote: > But... now we do not transfer the dev->sem to a mutex, because lockdep > will start generating false positives, and thus we mask the lockdep > error, by not converting the dev->sem to what it really is...
no, you are wrong. If you want to do complex locking, you can still do it: take a look at the dev->sem conversion patches from Peter which correctly do this. Lockdep has all the facilities for that. (you just dont know about them) Currently there are 4459 critical sections in the kernel that use mutexes and which work fine with lockdep. the general policy message here is: do not implement complex locking. It hurts. It's hard to maintain. It's easy to mess up and leads to bugs. Lockdep just makes that plain obvious. Your mail and your frustration shows this general concept in happy action: judging from your comments you have little clue about dev->sem locking and its implications and you'd happily go along and pollute the kernel with complex and hard to maintain nested locking constructs. Lockdep prevents you from doing it mindlessly, it _forces_ you to first understand the data structures, their locking and their relationship with each other. Then you can implement complexity, if you still want it. That, Sir, is a Good Thing (tm). Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/