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

From: Alan Stern
Date: Wed Jun 05 2024 - 13:55:21 EST


On Wed, Jun 05, 2024 at 06:52:18PM +0200, Andrea Parri wrote:
> > 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?

I agree; be faithful to the document's scope and just say LKR ->po LKW.

Were there other things like this in the table? I didn't notice any.

Alan