Re: [PATCH] tools/memory-model: Document herd7 (internal) representation
From: Jonas Oberhauser
Date: Mon May 27 2024 - 09:41:34 EST
Am 5/27/2024 um 3:28 PM schrieb Andrea Parri:
+ | smp_store_mb | W[once] ->po F[mb] |
I expect this one to be hard-coded in herd7 source code, but I cannot find
it. Can you give me a pointer?
smp_store_mb() is currently mapped to { __store{once}(X,V); __fence{mb}; } in
the .def file, so it's semantically equivalent to "WRITE_ONCE(); smp_mb();".
By the way, I experimented a little with these kind of mappings to see
if we can just explicitly encode the mapping there. E.g., I had an idea
to use
{ __fence{mb-successful-rmw}; __cmpxchg{once}...;
__fence{mb-successful-rmw}; }
for defining (almost) the current mapping of cmpxchg explicitly.
But none of the changes I made were accepted by herd7.
Do you know how the syntax works?
jonas