On Tue, 2011-03-22 at 20:07 -0400, Steven Rostedt wrote: > On Tue, 2011-03-22 at 16:41 -0700, David Collins wrote: > > > There seem to be very few uses of mutex_lock_nested() in the kernel. Most > > of them use subclass = SINGLE_DEPTH_NESTING. Would this be sufficient for > > usage in the regulator core in _notifier_call_chain (and perhaps other > > places) or should some other subclass be used? > > Note, I do not know this code well enough to say. I'm assuming that an > rdevA on a rdevB->supply_list never has rdevB on its own > rdevA->supply_list. > > If this is the case, and that you only ever have a lock nesting of one, > then sure, use the SINGLE_DEPTH_NESTING. > > Peter or Ingo could correct me if I'm wrong. Right, so be aware that you can annotate an actual deadlock away with mutex_lock_nested(), so use with care. The thing to avoid is something like: mutex_lock(instance1); mutex_lock_nested(instance2, SINGLE_DEPTH_NESTING); vs mutex_lock(instance2); mutex_lock_nested(instance1, SINGLE_DEPTH_NESTING); Lockdep will not complain anymore but it will cause deadlocks. -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html