<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=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@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:"Times New Roman \,serif";
panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
color:black;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle18
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:#1F497D;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></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 bgcolor="white" lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hi Sagheon,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I have new webrev at – <a name="_MailEndCompose">
http://cr.openjdk.java.net/~kkharbas/8190980/webrev.03<o:p></o:p></a></span></p>
<p class="MsoNormal"><span style="color:#1F497D">and my reply inline.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Thank you!<o:p></o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><a name="_____replyseparator"></a><b><span style="color:windowtext">From:</span></b><span style="color:windowtext"> sangheon.kim [mailto:sangheon.kim@oracle.com]
<br>
<b>Sent:</b> Friday, November 17, 2017 3:41 PM<br>
<b>To:</b> Kharbas, Kishor <kishor.kharbas@intel.com>; hotspot-gc-dev@openjdk.java.net<br>
<b>Subject:</b> Re: RFR(M): 8190828: Test plan: JEP 8171181: Support heap allocation on alternative memory devices<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi Kishor,<br>
<br>
<span style="font-size:12.0pt"><o:p></o:p></span></p>
<div>
<p class="MsoNormal">On 11/17/2017 02:59 PM, Kharbas, Kishor wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="color:#1F497D">Hi Sangheon!</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Thanks for the reply. Please find my reply inline.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span style="color:windowtext"> sangheon.kim [<a href="mailto:sangheon.kim@oracle.com">mailto:sangheon.kim@oracle.com</a>]
<br>
<b>Sent:</b> Thursday, November 16, 2017 10:28 PM<br>
<b>To:</b> Kharbas, Kishor <a href="mailto:kishor.kharbas@intel.com"><kishor.kharbas@intel.com></a>;
<a href="mailto:hotspot-gc-dev@openjdk.java.net">hotspot-gc-dev@openjdk.java.net</a><br>
<b>Subject:</b> Re: RFR(M): 8190828: Test plan: JEP 8171181: Support heap allocation on alternative memory devices</span><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi Kishor,<o:p></o:p></p>
<div>
<p class="MsoNormal">On 11/13/2017 03:51 PM, Kharbas, Kishor wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Hi!<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">I have developed a test plan for the implementation of 8171181.<o:p></o:p></p>
<p class="MsoNormal">I would appreciate a review and further guidance from the gc-dev members. I am hoping to get everything done well before 18.3 code freeze (have a vacation planned during that time).<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Test plan: <a href="https://bugs.openjdk.java.net/browse/JDK-8190828">
https://bugs.openjdk.java.net/browse/JDK-8190828</a><o:p></o:p></p>
<p class="MsoNormal">Test webrev: <a href="http://cr.openjdk.java.net/%7Ekkharbas/8190980/webrev.01/">
http://cr.openjdk.java.net/~kkharbas/8190980/webrev.01/</a><o:p></o:p></p>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman ,serif",serif">Looking at the comment at 8190980, webrev.2 seems the latest one, so my comments are for the webrev.2.<br>
<br>
--------------------------------------<br>
test/hotspot/jtreg/gc/TestAllocateHeapAtMultiple.java<br>
<br>
51 String[] extraOptsList = new String[] {<br>
52 "-Xmx32m -Xms32m -XX:+UseCompressedOops", // 1. With compressedoops enabled.<br>
53 "-Xmx32m -Xms32m -XX:-UseCompressedOops", // 2. With compressedoops disabled.<br>
54 "-Xmx32m -Xms32m -XX:HeapBaseMinAddress=3g", // 3. With user specified HeapBaseMinAddress.<br>
55 "-Xmx4g -Xms4g", // 4. With larger heap size (UnscaledNarrowOop not possible).<br>
56 "-Xmx4g -Xms4g -XX:+UseLargePages", // 5. Set UseLargePages.<br>
57 "-Xmx4g -Xms4g -XX:+UseNUMA" // 6. Set UseNUMA.<br>
58 };<br>
- I think we do differently to run sub-tests. Maybe SQE folks would give better comment on this.<br>
e.g. TestAllocationInEden.java<br>
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions<br>
...<br>
* TestAllocationInEden 10m 9 EDEN<br>
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions<br>
...<br>
* TestAllocationInEden 10m 47 EDEN<br>
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions<br>
<br>
<br>
</span><o:p></o:p></p>
<p class="MsoNormal"><b><i><span style="color:#1F497D">[Kharbas, Kishor] In my tests I use stdout to check for log generated by –Xlog:heap+gc=info to test correct allocation of Heap. That’s why I need to spawn a process from within this test to get a handle
on stdout, which (as per my limited knowledge) is not possible if I use @run. Please correct me if I am wrong.</span></i></b><o:p></o:p></p>
</div>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">Please keep as is.<br>
I think handling stdout seems okay with @run approach but @run doesn't allow to add more vm options. In this test, we need 'test_dir', so we can't use @run.<br>
<br>
</span><span style="font-size:12.0pt;font-family:"Times New Roman",serif;color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span style="color:#1F497D">[Kharbas, Kishor] Ok. Thanks<o:p></o:p></span></i></b></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><br>
<br>
<br>
<o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman ,serif",serif"><br>
52 "-Xmx32m -Xms32m -XX:+UseCompressedOops", // 1. With compressedoops enabled.<br>
54 "-Xmx32m -Xms32m -XX:HeapBaseMinAddress=3g", // 3. With user specified HeapBaseMinAddress.<br>
55 "-Xmx4g -Xms4g", // 4. With larger heap size (UnscaledNarrowOop not possible).<br>
- I think these 3 sub-tests are testing different compressed oop modes. I would recommend to include other 1 type(non-zero based) as well. In addition, adding the comment also would help increase the readability.<br>
<br>
<br>
</span><o:p></o:p></p>
<p class="MsoNormal"><b><i><span style="color:#1F497D">[Kharbas, Kishor] Yes I can do that. I need to specify heap size close to 32 GB right? There should be that much disk space available in the test environment, do you think that would be problem?</span></i></b><o:p></o:p></p>
</div>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">No need so huge heap. Please refer UseComporessedOops.java for an example of each cases.<br>
universe.hpp:378 also has good explanation.<br>
e.g. -Xmx32m -XX:HeapBaseMinAddress=0x800000008 also uses non-zero based.<br>
<br>
</span><b><i><span style="color:#1F497D">[Kharbas, Kishor] I added this sub-test, used the options from UseCompressedOops.java for same non-zero base, unscaled case.</span></i></b><span style="color:#1F497D"><o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman ,serif",serif"><br>
--------------------------------------<br>
test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithAllocateHeapAt.java<br>
<br>
1) This seems identical to TestGCBasherWithG1.java, how about just adding another '@run'?<br>
i.e. adding "* @run main/othervm/timeout=500 -Xlog:gc*=info -Xmx256m -server -XX:+UseG1GC
<b><u>-XX:AllocateHeapAt=.</u></b> TestGCBasherWithG1 120000"<br>
<br>
2) Don't we need testing for other GC types as well? i.e. Serial, Parallel and CMS.<br>
<br>
<br>
</span><o:p></o:p></p>
<p class="MsoNormal"><b><i><span style="color:#1F497D">[Kharbas, Kishor] The idea was to exercise the Java heap (allocated on a file) by some stress test. I thought one GC option would suffice, do you think we need more?</span></i></b><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">Let's leave as is.<br>
<br>
</span><span style="font-size:12.0pt;font-family:"Times New Roman",serif;color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span style="color:#1F497D">[Kharbas, Kishor] Ok Thanks<o:p></o:p></span></i></b></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><br>
<br>
<o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman ,serif",serif">2 * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.<br>
- Is this intended to start from 2016 as this seems to be copied from TestGCBasherWithXXX.java?
<br>
<br>
<br>
</span><o:p></o:p></p>
<p class="MsoNormal"><b><i><span style="color:#1F497D">[Kharbas, Kishor] I will change this.</span></i></b><o:p></o:p></p>
</div>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">OK.
<br>
But, if you agree to go 1) option(adding @run, instead of making TestGCBasherWithAllocateHeapAt.java, this comment can be ignored.<b><i><br>
<br>
</i></b></span><b><i><span style="color:#1F497D">[Kharbas, Kishor] I feel it’s better to keep this separate so as to not give an impression that AllocateHeapAt is tied to G1GC. Change the copyright.<o:p></o:p></span></i></b></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p> </o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman ,serif",serif"><br>
34 * @run main/othervm/timeout=500 -Xlog:gc*=info -Xmx256m -server -XX:+UseG1GC -XX:AllocateHeapAt=. TestGCBasherWithAllocateHeapAt 120000<br>
- Are there any reason to use timeout of 500? TestGCBasherWithG1 is using 200ms.</span><o:p></o:p></p>
<p class="MsoNormal"><b><i><span style="color:#1F497D">[Kharbas, Kishor] I increased the timeout since heap is mapped to a file on disk (either HDD or SSD depending on test environment) which makes the test run slower.</span></i></b><o:p></o:p></p>
</div>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">Make sense to have longer timeout, not sure additional 300ms is good enough though.<br>
<br>
</span><span style="font-size:12.0pt;font-family:"Times New Roman",serif;color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span style="color:#1F497D">[Kharbas, Kishor] I my environment even 200s did not fail, but I observed it taking longer. Whole or part of file is paged in memory so run time is not very bad.<o:p></o:p></span></i></b></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><br>
At least when I ran your 8190308(webrev.15) with this webrev.2, all tier1~tier5 tests were okay. There were some failures but those are known issues.
<br>
<br>
Thanks,<br>
Sangheon<br>
<br>
<br>
<br>
<o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman ,serif",serif"><br>
Thanks,<br>
Sangheon<br>
<br>
<br>
<br>
<br>
<br>
</span><o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">JEP: <a href="https://bugs.openjdk.java.net/browse/JDK-8171181">
https://bugs.openjdk.java.net/browse/JDK-8171181</a><o:p></o:p></p>
<p class="MsoNormal">Implementation webrev : <a href="http://cr.openjdk.java.net/%7Ekkharbas/8190308/webrev.15/">
http://cr.openjdk.java.net/~kkharbas/8190308/webrev.15/</a><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thank you!<o:p></o:p></p>
<p class="MsoNormal">Kishor<o:p></o:p></p>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman ,serif",serif"> </span><o:p></o:p></p>
</div>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p> </o:p></span></p>
</div>
</div>
</body>
</html>