<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi Leonid,<br>
<br>
This looks good. I can sponsor and push the change but we need a
Reviewer that looks at the change first.<br>
<br>
Thanks,<br>
Stefan<br>
<br>
<div class="moz-cite-prefix">On 2014-11-26 15:56, Leonid Mesnik
wrote:<br>
</div>
<blockquote cite="mid:5475EA19.4080004@oracle.com" type="cite">
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
Stefan<br>
<br>
Thank you for reviewing fix. <br>
<br>
Here is update version:<br>
<a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Esjohanss/lmesnik/8065579/hotspot.01/">http://cr.openjdk.java.net/~sjohanss/lmesnik/8065579/hotspot.01/</a><br>
<br>
I simplified test to be more robust. It tests only that we could
start mark cycle after young/full GC and when concurrent mark
cycle is not in progress. <br>
<br>
Leonid<br>
<br>
<div class="moz-cite-prefix">On 24.11.2014 15:23, Stefan Johansson
wrote:<br>
</div>
<blockquote cite="mid:54732343.6000307@oracle.com" type="cite">
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
Hi Leonid,<br>
<br>
I think the changes for making it possible to trigger a marking
cycle through the WB API looks good. There are however some
problems with the test.<br>
---<br>
24 assertTrue(wb.g1StartConcMarkCycle());<br>
25 wb.fullGC();<br>
26 assertTrue(wb.g1StartConcMarkCycle());<br>
<br>
Here the test assumes that it should be able to trigger a new
marking cycle since the Full-GC have aborted the previous one,
but it is possible that the concurrent mark thread hasn't yet
finished the cycle even if it has been aborted. That is, during
cycle will return true for some time after the concurrent mark
has been aborted.<br>
---<br>
28 while (wb.g1InConcurrentMark()) {<br>
29 assertFalse(wb.g1StartConcMarkCycle());<br>
30 }<br>
31 <br>
32 assertTrue(wb.g1StartConcMarkCycle());<br>
33 <br>
34 while (wb.g1InConcurrentMark()) {<br>
35 assertFalse(wb.g1StartConcMarkCycle());<br>
36 }<br>
<br>
Here the problem is that we can't guarantee that the concurrent
cycle won't finish just before the call to
wb.g1StartConcMarkCycle(), and therefor the assert might fail. <br>
---<br>
<br>
I'm not sure how you want to improve the test to avoid these
problems, the only really robust way I think is to only use the
g1InConcurrentMark() call to wait until marking is finished and
then assert that we can trigger a new cycle.<br>
<br>
Thanks,<br>
Stefan<br>
<br>
<div class="moz-cite-prefix">On 2014-11-20 16:13, Leonid Mesnik
wrote:<br>
</div>
<blockquote cite="mid:546E0530.4060904@oracle.com" type="cite">
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
Hi<br>
<br>
Here is the fix which introduce WB method which stars
concurrent mark cycle explicitly. It is needed to make CM
cycle related tests more stable.<br>
<br>
Changeset also includes test and very small fix of WB method
g1InConcurrentMark
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
.<br>
Fix pass JPRT with hotspot testset.<br>
<br>
JIRA: <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://bugs.openjdk.java.net/browse/JDK-8065579">https://bugs.openjdk.java.net/browse/JDK-8065579</a><br>
Webrev: <a moz-do-not-send="true"
class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Esjohanss/lmesnik/8065579/hotspot.00/">http://cr.openjdk.java.net/~sjohanss/lmesnik/8065579/hotspot.00/</a><br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>