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

Akira Yokosawa
2024-05-08T21:59:23Z

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.

Thanks, Akira

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