<html><body>
<p>Ok, will update if we think this is good. Thanks.<br>
Regards, Michael<br>
<br>
Rational C/C++ cafe: <a href="http://www.ibm.com/software/rational/cafe/community/ccpp">http://www.ibm.com/software/rational/cafe/community/ccpp</a><br>
My Blogs: <br>
Parallel & Multi-Core Computing <a href="http://www.ibm.com/software/rational/cafe/blogs/ccpp-parallel-multicore">http://www.ibm.com/software/rational/cafe/blogs/ccpp-parallel-multicore</a><br>
C++ Language & Standard <a href="http://www.ibm.com/software/rational/cafe/blogs/cpp-standard">http://www.ibm.com/software/rational/cafe/blogs/cpp-standard</a><br>
Commercial Computing <a href="http://www.ibm.com/software/rational/cafe/blogs/ccpp-commercial">http://www.ibm.com/software/rational/cafe/blogs/ccpp-commercial</a><br>
Boost test results <a href="http://www.ibm.com/support/docview.wss?rs=2239&context=SSJT9L&uid=swg27006911">http://www.ibm.com/support/docview.wss?rs=2239&context=SSJT9L&uid=swg27006911</a><br>
C/C++ Compilers Support Page <a href="http://www.ibm.com/software/awdtools/ccompilers/support/">http://www.ibm.com/software/awdtools/ccompilers/support/</a><br>
C/C++ Feature Request Interface <a href="http://www.ibm.com/support/docview.wss?uid=swg27005811">http://www.ibm.com/support/docview.wss?uid=swg27005811</a><br>
XL Fortran Compiler Support Page <a href="http://www.ibm.com/software/awdtools/fortran/xlfortran/support/">http://www.ibm.com/software/awdtools/fortran/xlfortran/support/</a><br>
XL Fortran Feature Request Interface <a href="http://www.ibm.com/support/docview.wss?uid=swg27005812">http://www.ibm.com/support/docview.wss?uid=swg27005812</a><br>
<br>
Michael Wong<br>
XL C++ Compiler kernel Development<br>
IBM Canada Ltd., C2/KD2/8200/MKM<br>
8200 Warden Avenue<br>
Markham, Ontario L6G 1C7<br>
W:905-413-3283 F:905-413-4839<br>
<img width="16" height="16" src="cid:1__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com" border="0" alt="Inactive hide details for Re: [cpp-threads] cpp-threads Digest, Vol 38, Issue 1">Re: [cpp-threads] cpp-threads Digest, Vol 38, Issue 1<br>
<br>
<br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td style="background-image:url(cid:2__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com); background-repeat: no-repeat; " width="1%" valign="middle"><img width="80" height="1" src="cid:3__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<img src="cid:4__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com" width="80" height="1"></td><td width="100%" valign="middle"><img width="1" height="1" src="cid:3__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="100%"><b>Re: [cpp-threads] cpp-threads Digest, Vol 38, Issue 1</b></td></tr>
</table>
<table id="tmpdisplaysendto" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%" valign="middle"><img width="77" height="1" src="cid:3__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<b><font color="#E26200">Mark Batty </font></b></td><td width="1%" valign="middle"><img width="18" height="1" src="cid:3__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<font color="#929292">to:</font></td><td width="100%" valign="middle"><img width="1" height="1" src="cid:3__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
cpp-threads</td><td width="1%" valign="middle"><img width="141" height="1" src="cid:3__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<div align="right"><font size="2">08/05/2010 08:47 AM</font></div></td></tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="100%" valign="middle"><img width="1" height="1" src="cid:3__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%" valign="middle"><img width="48" height="1" src="cid:3__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<font color="#929292">Sent by:</font></td><td width="100%" valign="middle"><img width="1" height="1" src="cid:3__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
<b><font color="#E26200">cpp-threads-bounces@decadent.org.uk</font></b></td></tr>
</table>
<b><font size="2">Please respond to C++ threads standardisation</font></b></td><td width="0%" valign="middle"><img width="1" height="1" src="cid:3__=0ABBFDE5DFDE4B468f9e8a93df938@ca.ibm.com" border="0" alt=""><br>
</td></tr>
</table>
</td></tr>
</table>
<br>
<hr width="2112" size="2" align="left" style="color:#B4BFCB; "><br>
<br>
<tt>The proposal looks good for the most part, but there are two changes<br>
that would be good to make. Firstly, we have a proof that with the<br>
added coherence axioms, visible sequences of side effects are unique,<br>
so I suggest adding the following note to 1.10p13 (this addresses<br>
Paul's comment):<br>
<br>
"[Note - It can be shown that the visible sequence of side effects of<br>
a value computation is unique given the coherence requirements below.<br>
- end note]"<br>
<br>
Secondly, in the Read-Read requirement, B gets its value indirectly,<br>
taking the value of A (another read). The following wording is more<br>
direct:<br>
<br>
"-Read Read:<br>
If a value computation A of an atomic object M happens before a value<br>
computation B of M, and A takes its value from the side effect X, then<br>
the value computed by B shall either be the value stored by X, or the<br>
value stored by a side effect Y, where Y follows X in the<br>
modification order of M."<br>
<br>
I hope the rest of the meeting is going well,<br>
Mark<br>
<br>
<br>
<br>
On Thu, Aug 5, 2010 at 12:00 PM, <cpp-threads-request@decadent.org.uk> wrote:<br>
> Send cpp-threads mailing list submissions to<br>
> cpp-threads@decadent.org.uk<br>
><br>
> To subscribe or unsubscribe via the World Wide Web, visit<br>
> </tt><tt><a href="http://www.decadent.org.uk/cgi-bin/mailman/listinfo/cpp-threads">http://www.decadent.org.uk/cgi-bin/mailman/listinfo/cpp-threads</a></tt><tt><br>
> or, via email, send a message with subject or body 'help' to<br>
> cpp-threads-request@decadent.org.uk<br>
><br>
> You can reach the person managing the list at<br>
> cpp-threads-owner@decadent.org.uk<br>
><br>
> When replying, please edit your Subject line so it is more specific<br>
> than "Re: Contents of cpp-threads digest..."<br>
><br>
><br>
> Today's Topics:<br>
><br>
> 1. Coherence Requirement wording changes for 1.10p13 (Michael Wong)<br>
> 2. Re: Coherence Requirement wording changes for 1.10p13<br>
> (Paul E. McKenney)<br>
> 3. Re: Coherence Requirement wording changes for 1.10p13 (Hans Boehm)<br>
> 4. Re: Coherence Requirement wording changes for 1.10p13<br>
> (Peter Dimov)<br>
><br>
><br>
> ----------------------------------------------------------------------<br>
><br>
> Message: 1<br>
> Date: Tue, 3 Aug 2010 16:52:53 -0400<br>
> From: Michael Wong <michaelw@ca.ibm.com><br>
> Subject: [cpp-threads] Coherence Requirement wording changes for<br>
> 1.10p13<br>
> To: cpp-threads@decadent.org.uk<br>
> Message-ID:<br>
> <OFDD7C8FC8.8576BBB0-ON85257774.00722617-85257774.0072B28D@ca.ibm.com><br>
> Content-Type: text/plain; charset="us-ascii"<br>
><br>
><br>
><br>
> Hi all, Benjamin Kosnick and I have made the following updates to the<br>
> coherence requirement paragraph based on today session with Peter Sewell<br>
> and Mark Batty. It is available for viewing on the Rapperswil concurrence<br>
> wiki:<br>
> </tt><tt><a href="http://wiki.dinkumware.com/twiki/pub/Wg21rapperswil/ConcurrencyWorkingGroup/Coherence_Requirement.html">http://wiki.dinkumware.com/twiki/pub/Wg21rapperswil/ConcurrencyWorkingGroup/Coherence_Requirement.html</a></tt><tt><br>
><br>
> This is to fix several NB comments GB 11, GB 12, CA 18, CA 19, CA 20.<br>
> We are asking for feedback comments of this restructuring and the insertion<br>
> of the new paragraphs for CORW and COWR as outlined in Sections 2.1 and 2.2<br>
> in their paper:<br>
> </tt><tt><a href="http://wiki.dinkumware.com/twiki/pub/Wg21rapperswil/ConcurrencyWorkingGroup/cpp-fcd-01.pdf">http://wiki.dinkumware.com/twiki/pub/Wg21rapperswil/ConcurrencyWorkingGroup/cpp-fcd-01.pdf</a></tt><tt><br>
><br>
> This will not be voted at the end of this week, but we want to have this<br>
> early drafting ready for review comment to make sure we are heading in the<br>
> right direction, and if all goes well, we propose to potentially add<br>
> diagrams of each of the coherence requirements as discussed today.<br>
><br>
> Thanks.<br>
><br>
> Regards, Michael<br>
><br>
> Rational C/C++ cafe:<br>
> </tt><tt><a href="http://www.ibm.com/software/rational/cafe/community/ccpp">http://www.ibm.com/software/rational/cafe/community/ccpp</a></tt><tt><br>
> My Blogs:<br>
> Parallel & Multi-Core Computing<br>
> </tt><tt><a href="http://www.ibm.com/software/rational/cafe/blogs/ccpp-parallel-multicore">http://www.ibm.com/software/rational/cafe/blogs/ccpp-parallel-multicore</a></tt><tt><br>
> C++ Language & Standard<br>
> </tt><tt><a href="http://www.ibm.com/software/rational/cafe/blogs/cpp-standard">http://www.ibm.com/software/rational/cafe/blogs/cpp-standard</a></tt><tt><br>
> Commercial Computing<br>
> </tt><tt><a href="http://www.ibm.com/software/rational/cafe/blogs/ccpp-commercial">http://www.ibm.com/software/rational/cafe/blogs/ccpp-commercial</a></tt><tt><br>
> Boost test results<br>
> </tt><tt><a href="http://www.ibm.com/support/docview.wss?rs=2239&context=SSJT9L&uid=swg27006911">http://www.ibm.com/support/docview.wss?rs=2239&context=SSJT9L&uid=swg27006911</a></tt><tt><br>
><br>
> C/C++ Compilers Support Page<br>
> </tt><tt><a href="http://www.ibm.com/software/awdtools/ccompilers/support/">http://www.ibm.com/software/awdtools/ccompilers/support/</a></tt><tt><br>
> C/C++ Feature Request Interface<br>
> </tt><tt><a href="http://www.ibm.com/support/docview.wss?uid=swg27005811">http://www.ibm.com/support/docview.wss?uid=swg27005811</a></tt><tt><br>
> XL Fortran Compiler Support Page<br>
> </tt><tt><a href="http://www.ibm.com/software/awdtools/fortran/xlfortran/support/">http://www.ibm.com/software/awdtools/fortran/xlfortran/support/</a></tt><tt><br>
> XL Fortran Feature Request Interface<br>
> </tt><tt><a href="http://www.ibm.com/support/docview.wss?uid=swg27005812">http://www.ibm.com/support/docview.wss?uid=swg27005812</a></tt><tt><br>
><br>
> Michael Wong<br>
> XL C++ Compiler kernel Development<br>
> IBM Canada Ltd., C2/KD2/8200/MKM<br>
> 8200 Warden Avenue<br>
> Markham, Ontario L6G 1C7<br>
> W:905-413-3283 F:905-413-4839<br>
> -------------- next part --------------<br>
> An HTML attachment was scrubbed...<br>
> URL: <</tt><tt><a href="http://www.decadent.org.uk/pipermail/cpp-threads/attachments/20100803/1210d188/attachment.html">http://www.decadent.org.uk/pipermail/cpp-threads/attachments/20100803/1210d188/attachment.html</a></tt><tt>><br>
><br>
> ------------------------------<br>
><br>
> Message: 2<br>
> Date: Wed, 4 Aug 2010 17:53:13 -0700<br>
> From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com><br>
> Subject: Re: [cpp-threads] Coherence Requirement wording changes for<br>
> 1.10p13<br>
> To: C++ threads standardisation <cpp-threads@decadent.org.uk><br>
> Message-ID: <20100805005312.GQ24163@linux.vnet.ibm.com><br>
> Content-Type: text/plain; charset=us-ascii<br>
><br>
> On Tue, Aug 03, 2010 at 04:52:53PM -0400, Michael Wong wrote:<br>
>><br>
>><br>
>> Hi all, Benjamin Kosnick and I have made the following updates to the<br>
>> coherence requirement paragraph based on today session with Peter Sewell<br>
>> and Mark Batty. It is available for viewing on the Rapperswil concurrence<br>
>> wiki:<br>
>> </tt><tt><a href="http://wiki.dinkumware.com/twiki/pub/Wg21rapperswil/ConcurrencyWorkingGroup/Coherence_Requirement.html">http://wiki.dinkumware.com/twiki/pub/Wg21rapperswil/ConcurrencyWorkingGroup/Coherence_Requirement.html</a></tt><tt><br>
>><br>
>> This is to fix several NB comments GB 11, GB 12, CA 18, CA 19, CA 20.<br>
>> We are asking for feedback comments of this restructuring and the insertion<br>
>> of the new paragraphs for CORW and COWR as outlined in Sections 2.1 and 2.2<br>
>> in their paper:<br>
>> </tt><tt><a href="http://wiki.dinkumware.com/twiki/pub/Wg21rapperswil/ConcurrencyWorkingGroup/cpp-fcd-01.pdf">http://wiki.dinkumware.com/twiki/pub/Wg21rapperswil/ConcurrencyWorkingGroup/cpp-fcd-01.pdf</a></tt><tt><br>
>><br>
>> This will not be voted at the end of this week, but we want to have this<br>
>> early drafting ready for review comment to make sure we are heading in the<br>
>> right direction, and if all goes well, we propose to potentially add<br>
>> diagrams of each of the coherence requirements as discussed today.<br>
><br>
> Hello, Michael,<br>
><br>
> I like the way this breaks out the write/write, read/read, ... cases!<br>
><br>
> But given the restrictions imposed by these cases, is it really possible<br>
> to have more than one visible sequence of side effects?<br>
><br>
> Thanx, Paul<br>
><br>
><br>
><br>
> ------------------------------<br>
><br>
> Message: 3<br>
> Date: Wed, 4 Aug 2010 21:48:36 -0700 (PDT)<br>
> From: Hans Boehm <Hans.Boehm@hp.com><br>
> Subject: Re: [cpp-threads] Coherence Requirement wording changes for<br>
> 1.10p13<br>
> To: C++ threads standardisation <cpp-threads@decadent.org.uk><br>
> Message-ID: <alpine.LNX.1.10.1008042131590.25429@192.168.2.2><br>
> Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed<br>
><br>
><br>
> I looked at this and the corresponding section of the Batty et al paper.<br>
> The changes look good to me. The WriteRead issue looks like a<br>
> longstanding bug, with the ReadWrite issue getting more recently<br>
> introduced.<br>
><br>
> (I wasn't immediately convinced by the WriteRead example, since I think<br>
> there is nothing in the example forcing the f->c modification order.<br>
> But on second thought it's trivial to enforce such a constraint.)<br>
><br>
> It's great that we have a proposed fix. But I also agree that this needs<br>
> some baking time.<br>
><br>
> Hans<br>
><br>
> On Tue, 3 Aug 2010, Michael Wong wrote:<br>
><br>
>><br>
>> Hi all, Benjamin Kosnick and I have made the following updates to the<br>
>> coherence requirement paragraph based on today session with Peter Sewell<br>
>> and Mark Batty. It is available for viewing on the Rapperswil concurrence<br>
>> wiki:<br>
>> </tt><tt><a href="http://wiki.dinkumware.com/twiki/pub/Wg21rapperswil/ConcurrencyWorkingGroup/Cohe">http://wiki.dinkumware.com/twiki/pub/Wg21rapperswil/ConcurrencyWorkingGroup/Cohe</a></tt><tt><br>
>> rence_Requirement.html<br>
>><br>
>> This is to fix several NB comments GB 11, GB 12, CA 18, CA 19, CA 20.<br>
>> We are asking for feedback comments of this restructuring and the<br>
>> insertion of the new paragraphs for CORW and COWR as outlined in Sections<br>
>> 2.1 and 2.2 in their paper:<br>
>> </tt><tt><a href="http://wiki.dinkumware.com/twiki/pub/Wg21rapperswil/ConcurrencyWorkingGroup/cpp-">http://wiki.dinkumware.com/twiki/pub/Wg21rapperswil/ConcurrencyWorkingGroup/cpp-</a></tt><tt><br>
>> fcd-01.pdf<br>
>><br>
>> This will not be voted at the end of this week, but we want to have this<br>
>> early drafting ready for review comment to make sure we are heading in<br>
>> the right direction, and if all goes well, we propose to potentially add<br>
>> diagrams of each of the coherence requirements as discussed today.<br>
>><br>
>> Thanks.<br>
>><br>
>> Regards, Michael<br>
>><br>
>> Rational C/C++ cafe:<br>
>> </tt><tt><a href="http://www.ibm.com/software/rational/cafe/community/ccpp">http://www.ibm.com/software/rational/cafe/community/ccpp</a></tt><tt><br>
>> My Blogs:<br>
>> Parallel & Multi-Core Computing<br>
>> </tt><tt><a href="http://www.ibm.com/software/rational/cafe/blogs/ccpp-parallel-multicore">http://www.ibm.com/software/rational/cafe/blogs/ccpp-parallel-multicore</a></tt><tt><br>
>> C++ Language & Standard<br>
>> </tt><tt><a href="http://www.ibm.com/software/rational/cafe/blogs/cpp-standard">http://www.ibm.com/software/rational/cafe/blogs/cpp-standard</a></tt><tt><br>
>> Commercial Computing<br>
>> </tt><tt><a href="http://www.ibm.com/software/rational/cafe/blogs/ccpp-commercial">http://www.ibm.com/software/rational/cafe/blogs/ccpp-commercial</a></tt><tt><br>
>> Boost test results<br>
>> </tt><tt><a href="http://www.ibm.com/support/docview.wss?rs=2239&context=SSJT9L&uid=swg27006911">http://www.ibm.com/support/docview.wss?rs=2239&context=SSJT9L&uid=swg27006911</a></tt><tt><br>
>> C/C++ Compilers Support Page<br>
>> </tt><tt><a href="http://www.ibm.com/software/awdtools/ccompilers/support/">http://www.ibm.com/software/awdtools/ccompilers/support/</a></tt><tt><br>
>> C/C++ Feature Request Interface<br>
>> </tt><tt><a href="http://www.ibm.com/support/docview.wss?uid=swg27005811">http://www.ibm.com/support/docview.wss?uid=swg27005811</a></tt><tt><br>
>> XL Fortran Compiler Support Page<br>
>> </tt><tt><a href="http://www.ibm.com/software/awdtools/fortran/xlfortran/support/">http://www.ibm.com/software/awdtools/fortran/xlfortran/support/</a></tt><tt><br>
>> XL Fortran Feature Request Interface<br>
>> </tt><tt><a href="http://www.ibm.com/support/docview.wss?uid=swg27005812">http://www.ibm.com/support/docview.wss?uid=swg27005812</a></tt><tt><br>
>><br>
>> Michael Wong<br>
>> XL C++ Compiler kernel Development<br>
>> IBM Canada Ltd., C2/KD2/8200/MKM<br>
>> 8200 Warden Avenue<br>
>> Markham, Ontario L6G 1C7<br>
>> W:905-413-3283 F:905-413-4839<br>
>><br>
>><br>
>><br>
><br>
><br>
><br>
> ------------------------------<br>
><br>
> Message: 4<br>
> Date: Thu, 5 Aug 2010 13:12:45 +0300<br>
> From: "Peter Dimov" <pdimov@mmltd.net><br>
> Subject: Re: [cpp-threads] Coherence Requirement wording changes for<br>
> 1.10p13<br>
> To: "C++ threads standardisation" <cpp-threads@decadent.org.uk><br>
> Message-ID: <1346A4310B014CC5A2714B574768AB12@pdimov5><br>
> Content-Type: text/plain; format=flowed; charset="iso-8859-1";<br>
> reply-type=response<br>
><br>
> Hans Boehm wrote:<br>
>> I looked at this and the corresponding section of the Batty et al paper.<br>
>> The changes look good to me. The WriteRead issue looks like a<br>
>> longstanding bug, with the ReadWrite issue getting more recently<br>
>> introduced.<br>
><br>
> Looks good to me, too. I view this as a formalization of the old requirement<br>
> that the happens-before order and the modification order should be<br>
> "consistent" - this spells out what consistency means.<br>
><br>
><br>
><br>
><br>
> ------------------------------<br>
><br>
> --<br>
> cpp-threads mailing list<br>
> cpp-threads@decadent.org.uk<br>
> </tt><tt><a href="http://www.decadent.org.uk/cgi-bin/mailman/listinfo/cpp-threads">http://www.decadent.org.uk/cgi-bin/mailman/listinfo/cpp-threads</a></tt><tt><br>
><br>
><br>
> End of cpp-threads Digest, Vol 38, Issue 1<br>
> ******************************************<br>
><br>
<br>
--<br>
cpp-threads mailing list<br>
cpp-threads@decadent.org.uk<br>
</tt><tt><a href="http://www.decadent.org.uk/cgi-bin/mailman/listinfo/cpp-threads">http://www.decadent.org.uk/cgi-bin/mailman/listinfo/cpp-threads</a></tt><tt><br>
</tt><br>
</body></html>