Re: [PATCH v3 1/5] tools/memory-model: Add an exception for limitations on _unless() family

From: Alan Stern
Date: Thu Feb 27 2020 - 13:16:39 EST


On Thu, 27 Feb 2020, Luc Maranget wrote:

> > On Thu, 27 Feb 2020, Boqun Feng wrote:
> >
> > > According to Luc, atomic_add_unless() is directly provided by herd7,
> > > therefore it can be used in litmus tests. So change the limitation
> > > section in README to unlimit the use of atomic_add_unless().
> >
> > Is this really true? Why does herd treat atomic_add_unless() different
> > from all the other atomic RMS ops? All the other ones we support do
> > have entries in linux-kernel.def.
>
> I think this to be true :)
>
> As far as I remember atomic_add_unless is quite different fron other atomic
> RMW ops and called for a specific all-OCaml implementation, without an
> entry in linux-kernel.def. As to atomic_long_add_unless, I was not aware
> of its existence.

Can you explain what is so different about atomic_add_unless?

Alan