[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