<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI Emoji";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:2077434403;
        mso-list-template-ids:-1843904482;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:72.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:108.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:144.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:180.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:216.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:252.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:288.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:324.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">I assume webrev.00 was used for reviews and tests as Thomas has emphasized that evacuation failures may be performance critical, too. It looks correct to me, too.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">I can sponsor the change if needed. Please let me know when I can consider it reviewed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Best regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Martin<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Michihiro Horie [mailto:HORIE@jp.ibm.com]
<br>
<b>Sent:</b> Dienstag, 19. Juni 2018 00:19<br>
<b>To:</b> White, Derek <Derek.White@cavium.com><br>
<b>Cc:</b> david.holmes@oracle.com; Gustavo Bueno Romero <gromero@br.ibm.com>; hotspot-gc-dev@openjdk.java.net; Kim Barrett <kim.barrett@oracle.com>; Doerr, Martin <martin.doerr@sap.com><br>
<b>Subject:</b> RE: RFR(M): 8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p><span style="font-size:10.0pt">Hi Derek,</span><br>
<br>
<span style="font-size:10.0pt">Thank you for the investigation on AArch64. It would be very helpful and I am glad to know that you had a moderate performance gain with this G1 change.</span><br>
<br>
<br>
<span style="font-size:10.0pt">Best regards,</span><br>
<span style="font-size:10.0pt">--</span><br>
<span style="font-size:10.0pt">Michihiro,</span><br>
<span style="font-size:10.0pt">IBM Research - Tokyo</span><br>
<br>
<img width="16" height="16" style="width:.1666in;height:.1666in" id="_x0000_i1025" src="cid:image001.gif@01D407C0.7F140240" alt="Inactive hide details for "White, Derek" ---2018/06/18 17:57:58---Hi Michihiro, Further testing is showing a moderate performan"><span style="font-size:10.0pt;color:#424282">"White,
 Derek" ---2018/06/18 17:57:58---Hi Michihiro, Further testing is showing a moderate performance gain with your G1 patch in SPECjbb o</span><br>
<br>
<span style="font-size:10.0pt;color:#5F5F5F">From: </span><span style="font-size:10.0pt">"White, Derek" <<a href="mailto:Derek.White@cavium.com">Derek.White@cavium.com</a>></span><br>
<span style="font-size:10.0pt;color:#5F5F5F">To: </span><span style="font-size:10.0pt">Michihiro Horie <<a href="mailto:HORIE@jp.ibm.com">HORIE@jp.ibm.com</a>></span><br>
<span style="font-size:10.0pt;color:#5F5F5F">Cc: </span><span style="font-size:10.0pt">"<a href="mailto:david.holmes@oracle.com">david.holmes@oracle.com</a>" <<a href="mailto:david.holmes@oracle.com">david.holmes@oracle.com</a>>, Gustavo Bueno Romero <<a href="mailto:gromero@br.ibm.com">gromero@br.ibm.com</a>>,
 "<a href="mailto:hotspot-gc-dev@openjdk.java.net">hotspot-gc-dev@openjdk.java.net</a>" <<a href="mailto:hotspot-gc-dev@openjdk.java.net">hotspot-gc-dev@openjdk.java.net</a>>, Kim Barrett <<a href="mailto:kim.barrett@oracle.com">kim.barrett@oracle.com</a>>,
 "Doerr, Martin" <<a href="mailto:martin.doerr@sap.com">martin.doerr@sap.com</a>></span><br>
<span style="font-size:10.0pt;color:#5F5F5F">Date: </span><span style="font-size:10.0pt">2018/06/18 17:57</span><br>
<span style="font-size:10.0pt;color:#5F5F5F">Subject: </span><span style="font-size:10.0pt">RE: RFR(M): 8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space</span><o:p></o:p></p>
<div class="MsoNormal">
<hr size="2" width="100%" noshade="" style="color:#8091A5" align="left">
</div>
<p class="MsoNormal"><br>
<br>
<br>
Hi Michihiro,<br>
<br>
Further testing is showing a moderate performance gain with your G1 patch in SPECjbb on AArch64. We haven’t completely pinned the earlier regression on user error on our part, but it’s looking likely. The new code on AArch64 is looking as relaxed as can be
<span style="font-family:"Segoe UI Emoji",sans-serif">😊</span><br>
<br>
Thank you for working on this, and letting us investigate!<o:p></o:p></p>
<ul type="disc">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
Derek<o:p></o:p></li></ul>
<p class="MsoNormal"><br>
<b>From:</b> Michihiro Horie [<a href="mailto:HORIE@jp.ibm.com">mailto:HORIE@jp.ibm.com</a>]
<b><br>
Sent:</b> Friday, June 15, 2018 11:44 PM<b><br>
To:</b> White, Derek <<a href="mailto:Derek.White@cavium.com">Derek.White@cavium.com</a>><b><br>
Cc:</b> <a href="mailto:david.holmes@oracle.com">david.holmes@oracle.com</a>; Gustavo Bueno Romero <<a href="mailto:gromero@br.ibm.com">gromero@br.ibm.com</a>>;
<a href="mailto:hotspot-gc-dev@openjdk.java.net">hotspot-gc-dev@openjdk.java.net</a>; Kim Barrett <<a href="mailto:kim.barrett@oracle.com">kim.barrett@oracle.com</a>>; Doerr, Martin <<a href="mailto:martin.doerr@sap.com">martin.doerr@sap.com</a>><b><br>
Subject:</b> RE: RFR(M): 8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space
<o:p></o:p></p>
<p><span style="font-size:10.0pt;color:#2F2F2F">Hi Derek,</span><br>
<span style="font-size:10.0pt;color:#2F2F2F"><br>
Thank you for sharing your status of still having inconsistent results with the patch. I would wait for your updates.</span><br>
<span style="font-size:10.0pt;color:#2F2F2F"><br>
Thanks again,</span><br>
<br>
<span style="font-size:10.0pt"><br>
Best regards,<br>
--<br>
Michihiro,<br>
IBM Research - Tokyo</span><br>
<br>
<img border="0" width="16" height="16" style="width:.1666in;height:.1666in" id="_x0000_i1027" src="cid:image001.gif@01D407C0.7F140240" alt="Inactive hide details for "White, Derek" ---2018/06/15 17:55:19---Hi Michihiro, Status update:"><span style="font-size:10.0pt;color:#424282">"White,
 Derek" ---2018/06/15 17:55:19---Hi Michihiro, Status update:</span><br>
<span style="font-size:10.0pt;color:#5F5F5F"><br>
From: </span><span style="font-size:10.0pt">"White, Derek" <</span><a href="mailto:Derek.White@cavium.com"><span style="font-size:10.0pt">Derek.White@cavium.com</span></a><span style="font-size:10.0pt">><span style="color:#5F5F5F"><br>
To: </span>Kim Barrett <</span><a href="mailto:kim.barrett@oracle.com"><span style="font-size:10.0pt">kim.barrett@oracle.com</span></a><span style="font-size:10.0pt">>, Michihiro Horie <</span><a href="mailto:HORIE@jp.ibm.com"><span style="font-size:10.0pt">HORIE@jp.ibm.com</span></a><span style="font-size:10.0pt">><span style="color:#5F5F5F"><br>
Cc: </span>Gustavo Bueno Romero <</span><a href="mailto:gromero@br.ibm.com"><span style="font-size:10.0pt">gromero@br.ibm.com</span></a><span style="font-size:10.0pt">>, "</span><a href="mailto:david.holmes@oracle.com"><span style="font-size:10.0pt">david.holmes@oracle.com</span></a><span style="font-size:10.0pt">"
 <</span><a href="mailto:david.holmes@oracle.com"><span style="font-size:10.0pt">david.holmes@oracle.com</span></a><span style="font-size:10.0pt">>, "</span><a href="mailto:hotspot-gc-dev@openjdk.java.net"><span style="font-size:10.0pt">hotspot-gc-dev@openjdk.java.net</span></a><span style="font-size:10.0pt">"
 <</span><a href="mailto:hotspot-gc-dev@openjdk.java.net"><span style="font-size:10.0pt">hotspot-gc-dev@openjdk.java.net</span></a><span style="font-size:10.0pt">><span style="color:#5F5F5F"><br>
Date: </span>2018/06/15 17:55<span style="color:#5F5F5F"><br>
Subject: </span>RE: RFR(M): 8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space</span><o:p></o:p></p>
<div class="MsoNormal">
<hr size="2" width="100%" noshade="" style="color:#A0A0A0" align="left">
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
<br>
<br>
<span style="font-size:10.0pt"><br>
Hi Michihiro,<br>
<br>
Status update:<br>
My colleague and I are getting inconsistent results with this patch: -23% to +7% on SPECjbb, so we're trying to verify what's going on.<br>
<br>
On an unrelated note, the aarch64 port relies on GCC's __atomic_compare_exchange to implemented the relaxed case of Atomic::PlatformCmpxchg, and gcc 6 and earlier sometimes do a poor job on it. Not enough to account for the numbers we saw though.<br>
<br>
I hope to have an answer by Monday.<br>
<br>
- Derek<br>
<br>
> -----Original Message-----<br>
> From: hotspot-gc-dev [</span><a href="mailto:hotspot-gc-dev-bounces@openjdk.java.net"><span style="font-size:10.0pt">mailto:hotspot-gc-dev-bounces@openjdk.java.net</span></a><span style="font-size:10.0pt">]<br>
> On Behalf Of Kim Barrett<br>
> Sent: Wednesday, June 13, 2018 5:16 PM<br>
> To: Michihiro Horie <</span><a href="mailto:HORIE@jp.ibm.com"><span style="font-size:10.0pt">HORIE@jp.ibm.com</span></a><span style="font-size:10.0pt">><br>
> Cc: Gustavo Bueno Romero <</span><a href="mailto:gromero@br.ibm.com"><span style="font-size:10.0pt">gromero@br.ibm.com</span></a><span style="font-size:10.0pt">>;<br>
> </span><a href="mailto:david.holmes@oracle.com"><span style="font-size:10.0pt">david.holmes@oracle.com</span></a><span style="font-size:10.0pt">;
</span><a href="mailto:hotspot-gc-dev@openjdk.java.net"><span style="font-size:10.0pt">hotspot-gc-dev@openjdk.java.net</span></a><span style="font-size:10.0pt"><br>
> Subject: Re: RFR(M): 8204524: Unnecessary memory barriers in<br>
> G1ParScanThreadState::copy_to_survivor_space<br>
> <br>
> External Email<br>
> <br>
> > On Jun 7, 2018, at 2:01 AM, Michihiro Horie <</span><a href="mailto:HORIE@jp.ibm.com"><span style="font-size:10.0pt">HORIE@jp.ibm.com</span></a><span style="font-size:10.0pt">> wrote:<br>
> ><br>
> > Dear all,<br>
> ><br>
> > Would you please review the following change?<br>
> ><br>
> > Bug: </span><a href="https://bugs.openjdk.java.net/browse/JDK-8204524"><span style="font-size:10.0pt">https://bugs.openjdk.java.net/browse/JDK-8204524</span></a><span style="font-size:10.0pt"><br>
> > Webrev: </span><a href="http://cr.openjdk.java.net/~mhorie/8204524/webrev.00"><span style="font-size:10.0pt">http://cr.openjdk.java.net/~mhorie/8204524/webrev.00</span></a><span style="font-size:10.0pt"><br>
> <br>
> I was going to say that this looks good to me.<br>
> <br>
> But then I saw Derek White’s reply about an unexpected performance<br>
> regression.<br>
> I’d like to wait until he reports back.<br>
<br>
</span><br>
<br>
<br>
<br>
<o:p></o:p></p>
</div>
</body>
</html>