Request for review (M): 7178363 G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
Bengt Rutisson
bengt.rutisson at oracle.com
Wed Aug 22 11:16:31 UTC 2012
Hi again,
Here is an updated webrev based on comments from John Cuthbertson:
http://cr.openjdk.java.net/~brutisso/7178363/webrev.02/
Here is a diff compared to the previous webrev:
http://cr.openjdk.java.net/~brutisso/7178363/webrev.01-02-diff/
Thanks,
Bengt
On 2012-07-20 14:17, Bengt Rutisson wrote:
>
> Hi all,
>
> Here is an updated webrev for this change:
> http://cr.openjdk.java.net/~brutisso/7178363/webrev.01/
>
> It turns out the the earlier change for 7178361 had introduced two
> more issues: the heap transition information for the PrintGC output
> and the output for evacuation failures had both been moved in an
> unintended way. The above webrev corrects both of these chagne too.
> Thanks John Cuthbertson for pointing me to the evacuation failure output.
>
> Bengt
>
>
> On 2012-07-19 11:01, Bengt Rutisson wrote:
>>
>> Hi again,
>>
>> Just in case anybody already started looking at this: I have updated
>> the webrev since I had to make some changes to make it compile with
>> the NMT fixes that have just made it into the hotspot-gc repository.
>> Those updates were just to make it compile and not really related to
>> my change, so I just overwrote the existing webrev. Just use the same
>> link as before:
>>
>> http://cr.openjdk.java.net/~brutisso/7178363/webrev.00/
>>
>> Also, if you want to see what the new output looks like I am
>> attaching a file called new.txt with an example from running
>> SpecJBB2005 with this command line:
>>
>> -XX:+UseG1GC -XX:ParallelGCThreads=4 -XX:+UnlockExperimentalVMOptions
>> -XX:G1LogLevel=finest -XX:+TraceGen0Time -Xms256m -Xmx2G
>>
>> I am also attaching a file called old.txt with what the output, using
>> the same command line, looked like before my change. As you can see
>> the differences are what I listed in my earlier email. You will also
>> notice that the "old" version has an entry for the SATB filtering,
>> even though all the entries are 0 (we didn't do a concurrent cycle so
>> there has been no SATB filtering). This was a bug I just introduced
>> with my last change (for 7178361), so the new example is more correct.
>>
>> Thanks,
>> Bengt
>>
>> On 2012-07-18 15:55, Bengt Rutisson wrote:
>>>
>>> Hi everyone,
>>>
>>> I would like some reviews of this change:
>>> http://cr.openjdk.java.net/~brutisso/7178363/webrev.00/
>>>
>>> This removes the special treatment for ParallelGCThreads=0 from the
>>> G1 logging. I did keep the log output unchanged for that case.
>>> Basically it just has one indentation level less and skips some
>>> output. I am not sure this is really necessary since it is really a
>>> special case. I'm open to change that special treatment too and just
>>> have the same output as for ParallelGCThreads=1.
>>>
>>> The PrintGCDetails log output should be the same as before with
>>> three minor adjustments:
>>>
>>> - The "Sum" is now not printed for the start and end values for GC
>>> workers. This sum does not really make sense to me.
>>>
>>> - The "(ms)" unit was removed from output that aren't in
>>> milliseconds (termination attempts for example).
>>>
>>> - The average value is now printed as a double for all types.
>>>
>>> I tried to clean up the code a bit and introduced a separate class,
>>> Snippet WorkerDataArray, to keep track of the per thread logging. I
>>> also introduced getters and setters to avoid having to make
>>> G1CollectorPolicy and TraceGen0TimeData friend classes to
>>> G1GCPhaseTimes.
>>>
>>> Thanks,
>>> Bengt
>>
>
More information about the hotspot-gc-dev
mailing list