Re: [PATCH v2] tools/memory-model: Document herd7 (abstract) representation

From: Andrea Parri
Date: Wed Jun 05 2024 - 12:52:35 EST


> I wonder if we really need a special notation for lk-rmw. Is anything
> wrong with using the normal rmw notation for these links?

I don't think we need the special notation: in fact, herd7 doesn't know
anything about these lk-rmw or rmw links between lock events until after
tools/memory-model/ (the .cat file) has established such links cf.

(* Link Lock-Reads to their RMW-partner Lock-Writes *)
let lk-rmw = ([LKR] ; po-loc ; [LKW]) \ (po ; po)
let rmw = rmw | lk-rmw

I was trying to be informative (since that says "lk-rmw is a subrelation
of rmw) but, in order to be faithful to the scope of this document (herd
representation), the doc should really just indicate LKR ->po LKW.

Thoughts?

Andrea