Re: [PATCH 24/28] locking/lockdep: Remove !dir in lock irq usage check

From: Boqun Feng
Date: Fri Apr 26 2019 - 03:27:23 EST




On Fri, Apr 26, 2019, at 3:06 PM, Yuyang Du wrote:
> Thanks for review.
>
> On Fri, 26 Apr 2019 at 04:03, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> >
> > On Wed, Apr 24, 2019 at 06:19:30PM +0800, Yuyang Du wrote:
> > > In mark_lock_irq(), the following checks are performed:
> > >
> > > ----------------------------------
> > > | -> | unsafe | read unsafe |
> > > |----------------------------------|
> > > | safe | F B | F* B* |
> > > |----------------------------------|
> > > | read safe | F? B* | - |
> > > ----------------------------------
> > >
> > > Where:
> > > F: check_usage_forwards
> > > B: check_usage_backwards
> > > *: check enabled by STRICT_READ_CHECKS
> > > ?: check enabled by the !dir condition
> > >
> > > From checking point of view, the special F? case does not make sense,
> > > whereas it perhaps is made for peroformance concern. As later patch will
> > > address this issue, remove this exception, which makes the checks
> > > consistent later.
> > >
> > > With STRICT_READ_CHECKS = 1 which is default, there is no functional
> > > change.
> >
> > Oh man.. thinking required and it is way late.. anyway this whole read
> > stuff made me remember we had a patch set on readlocks last year.
> >
> > https://lkml.kernel.org/r/20180411135110.9217-1-boqun.feng@xxxxxxxxx
> >
> > I remember reviewing that a few times and then it dropped on the floor,
> > probably because Spectre crap or something sucked up all my time again :/
> >
> > Sorry Boqun!
>

That's all right. I was also too busy to send another spin...

> Oh man, I thought about the read-write lock stuff, but I didn't know
> Boqun's patch. Let me hurt my brain looking at that patch.
>

Yuyang, a few about the status, I've changed a little on the algorithm, the
latest code is at

git://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git arr-rfc-wip

but unfortunately, I haven't got time to rework the comments and documents, so
be aware of this inconsistency.

Feel free to ask me any question, and I will try to send out a fresh spin in next month.

Regards,
Boqun