<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
<div class="moz-cite-prefix">On 2014-06-11 12:33, Bengt Rutisson
wrote:<br>
</div>
<blockquote cite="mid:5398305D.7070800@oracle.com" type="cite">
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<br>
Hi all,<br>
<br>
Can I have a review for this change?<br>
<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Ebrutisso/8046518/webrev.00/">http://cr.openjdk.java.net/~brutisso/8046518/webrev.00/</a><br>
<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://bugs.openjdk.java.net/browse/JDK-8046518">https://bugs.openjdk.java.net/browse/JDK-8046518</a><br>
<br>
Background:<br>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
When we abort a concurrent cycle due to a Full GC in G1 we call
ConcurrentMark::abort(). That will set _has_aborted flag and then
call register_concurrent_cycle_end(). <br>
<br>
The concurrent marking thread will see the _has_aborted flag in
its ConcurrentMarkThread::run() method, abort the execution and
then call register_concurrent_cycle_end(). <br>
<br>
Currently this works since the code inside
register_concurrent_cycle_end() is guarded by
_concurrent_cycle_started which it then resets. So, the double
calls will not necessarily result in too much extra work being
done. But one of the things that register_concurrent_cycle_end()
does is to call report_gc_end() on the concurrent GC tracer. That
prevents further use of it for this GC. This means that inside the
ConcurrentMarkThread::run() method we can not rely on the tracer.
<br>
<br>
Removing the call to register_concurrent_cycle_end() in
ConcurrentMark::abort() and relying on the call in
ConcurrentMarkThread::run() seems to be a reasonable approach. <br>
</blockquote>
<br>
The double call was deliberately put there to make sure that we end
the tracing of the concurrent GC before starting to trace teh Full
GC. Why do you need to change this? I guess it has to do with your
other GCId changes?<br>
<br>
thanks,<br>
StefanK<br>
<br>
<blockquote cite="mid:5398305D.7070800@oracle.com" type="cite"> <br>
Thanks,<br>
Bengt<br>
</blockquote>
<br>
</body>
</html>