Re: Internal vs. external barriers (was: Re: Interesting LKMM litmus test)

From: Paul E. McKenney
Date: Fri Jan 20 2023 - 16:41:01 EST


On Fri, Jan 20, 2023 at 09:56:36PM +0100, Jonas Oberhauser wrote:
>
>
> On 1/20/2023 4:32 PM, Paul E. McKenney wrote:
> > On Fri, Jan 20, 2023 at 01:51:01PM +0100, Jonas Oberhauser wrote:
> > > I'm not going to get it right today, am I?
> > Believe me, I know that feeling! Open-source development is therefore
> > an extremely good character-building exercise. At least that is what
> > I keep telling myself. ;-)
>
> "Calvin, go do something you hate! Being miserable builds character!"

Heh! There is the school of thought that says that if children
automatically did everything that they needed to do, they would not
need parents. Now about adults doing what they need to do, myself
included... ;-)

> > > +let srcu-rscs = ([Srcu-lock] ; (data ; [~ Srcu-unlock] ; rfe) * ; data ;
> > > [Srcu-unlock]) & loc
> > >
> > > I see now that I copied the format from your message but without realizing
> > > the original had a `|` where I have a `;`.
> > > I hope this version is finally right and perhaps more natural than the (data
> > > | rf) version, considering rf can't actually appear in most places and this
> > > more closely matches carry-dep;data.
> > > But of course feel free to use
> > > +let srcu-rscs = ([Srcu-lock] ; (data  | [~ Srcu-unlock] ; rf)+ ;
> > > [Srcu-unlock]) & loc
> > > instead if you prefer.
> >
> > The reason for favoring "rf" over "rfe" is the possibility of a litmus
> > test where the process containing the srcu_down_read() sometimes but
> > not always also has the matching srcu_up_read(). Perhaps a pair of "if"
> > statements control which process does the matching srcu_up_read().
>
> If you put the redefinition of data early enough to affect this definition,
> the rfi option should be covered by the carry-dep in the redefinition of
> data, so I left it out.

For right now, I will favor obviousness over minimalism, but for the
real patch, I will let Alan decide what makes the most sense. I am
sure that you will not be shy about letting him know of your thoughts
on the matter. ;-)

Thanx, Paul

> > And thank you!!!
>
> always ;-)
>
> jonas
>