[cpp-threads] Slightly revised memory model proposal (D2300)
Boehm, Hans
hans.boehm at hp.com
Sat Jun 23 01:16:55 BST 2007
> -----Original Message-----
> From: cpp-threads-bounces at decadentplace.org.uk
> [mailto:cpp-threads-bounces at decadentplace.org.uk] On Behalf
> Of Paul E. McKenney
> Sent: Friday, June 22, 2007 10:37 AM
> To: C++ threads standardisation
> Cc: Sarita V Adve
> Subject: Re: [cpp-threads] Slightly revised memory model
> proposal (D2300)
>
> On Fri, Jun 22, 2007 at 10:08:50AM -0700, Paul E. McKenney wrote:
> > On Fri, Jun 22, 2007 at 02:22:30AM -0000, Boehm, Hans wrote:
>
> [ . . . ]
>
> > > 1.10p10:
> >
> > [ . . . ]
> >
> > > A multi-threaded execution is consistent if each
> thread observes
> > > values of objects that obey the following constraints:
> > >
> > > * No evaluation happens before itself.
>
> One more thing... This was added in the revision, but the
> node has not been updated to give the rationale. Seems
> intuitive enough at first glance, but more thought quickly
> leads to questions like "which part of the evaluation?" and
> "from the viewpoint of which component of the system?".
>
> So, what is this really trying to say, and what mishaps is it
> trying to prevent?
>
> Thanx, Paul
My understanding is that "evaluation" here is basically standardese for
"memory access". (Clark wrote that part, and still has to make a pass
through some of my changes.) "Happens before" is the relation defined
in 1.10p8. So this is basically saying that that relation consistently
orders memory accesses. I added a bit more text to the subsequent note,
and corrected the numbering in that note. Today's version is attached,
this time even with the correct date.
Hans
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.decadentplace.org.uk/pipermail/cpp-threads/attachments/20070623/d504e5a5/D2300-0001.html
More information about the cpp-threads
mailing list