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

Alan Stern
2023-01-11T15:07:06Z

On Wed, Jan 11, 2023 at 11:33:33AM +0000, Jonas Oberhauser wrote:
>
>
> -----Original Message-----
> From: Paul E. McKenney [mailto:paulmck@kernel.org]
> Sent: Thursday, January 5, 2023 6:32 PM
> > On Wed, Jan 04, 2023 at 11:13:05AM +0000, Jonas Oberhauser wrote:
> > > -----Original Message-----
> > > From: Alan Stern [mailto:stern@rowland.harvard.edu]
> > > Sent: Tuesday, January 3, 2023 7:56 PM
> > > > That all sounds good to me. However, I wonder if it might be better to use "strong-order" (and similar) for the new relation name instead of "strong-sync". The idea being that fences are about ordering, not (or not directly) about synchronization.
> >
> > > I think that is indeed better, thanks. I suppose *-sync might be more appropriate if it *only* included edges between threads.
>
> > There are quite a few ways to group the relations. As long as we don't end up oscillating back and forth with too short a frequency, I am good. ;-)
>
> Considering how much effort it is to keep the documentation up-to-date
> even for small changes, I'm extremely oscillation-averse.
> Interestingly as I go through the documentation while preparing each
> patch I often find some remarks hinting at the content of the patch,
> e.g. "fences don't link events on different CPUs" and "rcu-fence is
> able to link events on different CPUs. (Perhaps this fact should lead
> us to say that rcu-fence isn't really a fence at all!)" in the current
> explanation.txt.
>
> Following the instructions sent to me by Andrea earlier, right now my
> plan is to first address the strong ordering in one patch, and then
> address this perhaps unlucky name of the other "fences" in a second
> patch. Let me know if this is incorrect, as there is some overlap in
> that I'll use strong-order right away, and then rename the handful of
> other fences-but-not-really-at-all to '-order' as well.

Minor snag: There already is an rcu-order relation in the memory model.
Maybe we need a different word from "order". Or maybe rcu-order should
be renamed.

Alan