Re: [PATCH] mutex: make mutex_lock_nested an inline function

From: Peter Zijlstra
Date: Wed Oct 14 2015 - 07:07:29 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/