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

From: Yuyang Du
Date: Fri Apr 26 2019 - 03:06:51 EST


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!

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.