Re: [PATCH] tools/memory-model: Add atomic_and()/or()/xor() and add_negative

Paul E. McKenney
2024-05-08T23:46:36Z

On Thu, May 09, 2024 at 06:59:17AM +0900, Akira Yokosawa wrote:
> On Wed, 8 May 2024 12:49:57 -0700, Boqun Feng wrote:
> > On Wed, May 08, 2024 at 02:34:00PM +0000, Puranjay Mohan wrote:
> >> Pull-849[1] added the support of '&', '|', and '^' to the herd7 tool's
> >> atomics operations.
> >>
> >> Use these in linux-kernel.def to implement atomic_and()/or()/xor() with
> >> all their ordering variants.
> >>
> >> atomic_add_negative() is already available so add its acquire, release,
> >> and relaxed ordering variants.
> >>
> >> [1] https://github.com/herd/herdtools7/pull/849
> >
> > A newer version of herd is required for this feature, right?
>
> Yes, this requires building herd7 from latest source.
>
> herdtools7 7.57 (released recently) happened before pull 849.
>
> Luc, what is your plan on a next release (7.57.1?) ?
>
> > So please
> > also do a change in tools/memory-model/README "REQUIREMENTS" session
> > when the new version released.
>
> Puranjay, it would be great if you add some litmus tests which use
> additional atomic primitives under tools/memory-model/litmus-tests/
> as well.

Thank you for checking, Akira! I need to hold off sending this upstream
until there is a herdtools7 release that supports it. So not the merge
window that is likely to open this weekend. ;-)

Thanx, Paul

> Thanks, Akira
>
> > Boqun
> >
> >>
> >> Signed-off-by: Puranjay Mohan <puranjay@kernel.org>
> >> ---
> >> tools/memory-model/linux-kernel.def | 21 +++++++++++++++++++++
> >> 1 file changed, 21 insertions(+)
>