Re: [lockdep] chain_key collision check triggers

From: Peter Zijlstra
Date: Fri Jun 03 2016 - 07:35:52 EST


On Fri, Jun 03, 2016 at 01:12:50PM +0200, Heiko Carstens wrote:
> On Fri, Jun 03, 2016 at 10:48:01AM +0200, Peter Zijlstra wrote:
> > On Fri, Jun 03, 2016 at 09:15:44AM +0200, Heiko Carstens wrote:
> > > Hi all,
> > >
> > > the new lockdep chain_key collision detection code triggers quite reliably
> > > on s390, so it looks like we need a different iterate_chain_key()
> > > implementation?
> >
> > That too, I have one queued up; but if you can realiably trigger this
> > that's 'good' news. Most reports so far have been one offs that people
> > could not reproduce.
> >
> > Let me wake up a bit more, but in the meantime, the below is what I had
> > queued.
> >
> > ---
> > Subject: locking,lockdep: Use __jhash_mix for iterate_chain_key
> > From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> > Date: Mon May 30 18:31:33 CEST 2016
> >
> > Use __jhash_mix() to mix the class_idx into the class_key. This
> > function provides better mixing than the previously used, home grown
> > mix function.
>
> Ok, thanks! I'll use that then. Unfortunately the new hash function
> generates 28 instead of 2 instructions on s390.

Yeah, but I doubt you can actually measure the performance difference,
lockdep is a pig anyway.