[PATCH] drm/i915: properly init lockdep class

Sebastian Andrzej Siewior bigeasy at linutronix.de
Wed Dec 13 15:06:36 UTC 2017


On 2017-12-13 16:00:49 [+0200], Joonas Lahtinen wrote:
> On Thu, 2017-11-30 at 16:19 +0100, Sebastian Andrzej Siewior wrote:
> > The code has an ifdef and uses two functions to either init the bare
> > spinlock or init it and set a lock-class. It is possible to do the same
> > thing without an ifdef.
> > With this patch (in debug case) we first use the "default" lock class
> > which is later overwritten to the supplied one. Without lockdep the set
> > name/class function vanishes.
> > 
> > Reported-by: kbuild test robot <fengguang.wu at intel.com>
> 
> How exactly did kbuild test robot figure this out?

I fixed it up for RT, then robot found a way to complain about it. Then
I slapped myself for not submitting this patch in the first place.

> At least according to the source there doesn't seem to be clarity about
> what is the right thing to do, this being just one option.

I don' think `ifdef CONFIG_DEBUG_SPINLOCK' is an option. Especially
since the i915 driver here is the only user in tree doing this kind of
thing.
Then we have lockdep_set_class_and_name() (which I promote here). This
looks like the official way of doing lockdep related things and it has
even more than ten users in tree.

> Regards, Joonas

Sebastian


More information about the dri-devel mailing list