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 <pet...@infradead.org> 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.f...@gmail.com
> >
> > 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