On Wed, Oct 14, 2015 at 11:27:06AM +0100, Mark Brown wrote: > On Wed, Oct 14, 2015 at 10:20:50AM +0200, Peter Zijlstra wrote: > > > Uuh, I just looked at next and saw this regulator_lock_supply() > > function. How is that limited? subclass must be <8 otherwise bad things > > happen. > > Can we please get some more discoverable documentation of the arbitrary > limits in the lockdep code?
include/linux/lockdep.h:#define MAX_LOCKDEP_SUBCLASSES 8UL Also, it will give a runtime warn if you ever do hit that. > I seem to keep seeing code that bumps into > surprising limits like this and I'm not sure how I'm supposed to know > about them except through finding out after the fact or trawling the > code every time someone touches locking. Not knowing what other limits you've hit, I'm not entirely sure how to help out there. > I would be very surprised to see a system that pushes over 8 locks, > while there's nothing actually preventing it system design > considerations mean that even four cascaded supplies are pretty > unlikely so we should be fine. Every time you add a new level of > regulation you're both increasing the load on regulators up the chain > (which means they need to be bigger and more expensive) and except in > the case of a DCDC supplying an LDO (which only works to one level) > you're going to be decreasing the efficiency of the system. If we get > to that point we can worry about what to do. OK I suppose. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/