<html><body><p><font size="2">Hi Derek,</font><br><br><font size="2">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.</font><br><br><br><font size="2">Best regards,</font><br><font size="2">--</font><br><font size="2">Michihiro,</font><br><font size="2">IBM Research - Tokyo</font><br><br><img width="16" height="16" src="cid:1__=8FBB0823DFEA70608f9e8a93df938690918c8FB@" border="0" alt="Inactive hide details for "White, Derek" ---2018/06/18 17:57:58---Hi Michihiro, Further testing is showing a moderate performan"><font size="2" 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</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">"White, Derek" <Derek.White@cavium.com></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">Michihiro Horie <HORIE@jp.ibm.com></font><br><font size="2" color="#5F5F5F">Cc:        </font><font size="2">"david.holmes@oracle.com" <david.holmes@oracle.com>, Gustavo Bueno Romero <gromero@br.ibm.com>, "hotspot-gc-dev@openjdk.java.net" <hotspot-gc-dev@openjdk.java.net>, Kim Barrett <kim.barrett@oracle.com>, "Doerr, Martin" <martin.doerr@sap.com></font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">2018/06/18 17:57</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">RE: RFR(M): 8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><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 😊<br> <br>Thank you for working on this, and letting us investigate!<br> 
<ul><li type="disc">Derek</ul> <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 <Derek.White@cavium.com><b><br>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><b><br>Subject:</b> RE: RFR(M): 8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space
<p><font size="2" color="#2F2F2F">Hi Derek,</font><br><font size="2" color="#2F2F2F"><br>Thank you for sharing your status of still having inconsistent results with the patch. I would wait for your updates.</font><br><font size="2" color="#2F2F2F"><br>Thanks again,</font><br><br><font size="2"><br>Best regards,<br>--<br>Michihiro,<br>IBM Research - Tokyo</font><br><br><img src="cid:1__=8FBB0823DFEA70608f9e8a93df938690918c8FB@" width="16" height="16" alt="Inactive hide details for "White, Derek" ---2018/06/15 17:55:19---Hi Michihiro, Status update:"><font size="2" color="#424282">"White, Derek" ---2018/06/15 17:55:19---Hi Michihiro, Status update:</font><br><font size="2" color="#5F5F5F"><br>From: </font><font size="2">"White, Derek" <</font><a href="mailto:Derek.White@cavium.com"><u><font size="2" color="#0000FF">Derek.White@cavium.com</font></u></a><font size="2">></font><font size="2" color="#5F5F5F"><br>To: </font><font size="2">Kim Barrett <</font><a href="mailto:kim.barrett@oracle.com"><u><font size="2" color="#0000FF">kim.barrett@oracle.com</font></u></a><font size="2">>, Michihiro Horie <</font><a href="mailto:HORIE@jp.ibm.com"><u><font size="2" color="#0000FF">HORIE@jp.ibm.com</font></u></a><font size="2">></font><font size="2" color="#5F5F5F"><br>Cc: </font><font size="2">Gustavo Bueno Romero <</font><a href="mailto:gromero@br.ibm.com"><u><font size="2" color="#0000FF">gromero@br.ibm.com</font></u></a><font size="2">>, "</font><a href="mailto:david.holmes@oracle.com"><u><font size="2" color="#0000FF">david.holmes@oracle.com</font></u></a><font size="2">" <</font><a href="mailto:david.holmes@oracle.com"><u><font size="2" color="#0000FF">david.holmes@oracle.com</font></u></a><font size="2">>, "</font><a href="mailto:hotspot-gc-dev@openjdk.java.net"><u><font size="2" color="#0000FF">hotspot-gc-dev@openjdk.java.net</font></u></a><font size="2">" <</font><a href="mailto:hotspot-gc-dev@openjdk.java.net"><u><font size="2" color="#0000FF">hotspot-gc-dev@openjdk.java.net</font></u></a><font size="2">></font><font size="2" color="#5F5F5F"><br>Date: </font><font size="2">2018/06/15 17:55</font><font size="2" color="#5F5F5F"><br>Subject: </font><font size="2">RE: RFR(M): 8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space</font><br><hr width="100%" size="2" align="left" noshade><br><br><br><font size="2"><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 [</font><a href="mailto:hotspot-gc-dev-bounces@openjdk.java.net"><u><font size="2" color="#0000FF">mailto:hotspot-gc-dev-bounces@openjdk.java.net</font></u></a><font size="2">]<br>> On Behalf Of Kim Barrett<br>> Sent: Wednesday, June 13, 2018 5:16 PM<br>> To: Michihiro Horie <</font><a href="mailto:HORIE@jp.ibm.com"><u><font size="2" color="#0000FF">HORIE@jp.ibm.com</font></u></a><font size="2">><br>> Cc: Gustavo Bueno Romero <</font><a href="mailto:gromero@br.ibm.com"><u><font size="2" color="#0000FF">gromero@br.ibm.com</font></u></a><font size="2">>;<br>> </font><a href="mailto:david.holmes@oracle.com"><u><font size="2" color="#0000FF">david.holmes@oracle.com</font></u></a><font size="2">; </font><a href="mailto:hotspot-gc-dev@openjdk.java.net"><u><font size="2" color="#0000FF">hotspot-gc-dev@openjdk.java.net</font></u></a><font size="2"><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 <</font><a href="mailto:HORIE@jp.ibm.com"><u><font size="2" color="#0000FF">HORIE@jp.ibm.com</font></u></a><font size="2">> wrote:<br>> ><br>> > Dear all,<br>> ><br>> > Would you please review the following change?<br>> ><br>> > Bug: </font><a href="https://bugs.openjdk.java.net/browse/JDK-8204524"><u><font size="2" color="#0000FF">https://bugs.openjdk.java.net/browse/JDK-8204524</font></u></a><font size="2"><br>> > Webrev: </font><a href="http://cr.openjdk.java.net/~mhorie/8204524/webrev.00"><u><font size="2" color="#0000FF">http://cr.openjdk.java.net/~mhorie/8204524/webrev.00</font></u></a><font size="2"><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></font><br><br><br><br><BR>
</body></html>