RFR: 8276887: G1: Move precleaning to Concurrent Mark From Roots subphase [v3]

Stefan Johansson sjohanss at openjdk.java.net
Thu Nov 11 13:10:47 UTC 2021


On Wed, 10 Nov 2021 21:09:10 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:

>> Simple change of moving the "Preclean" subphase into "Mark from roots" subphase so that precleaning becomes parallel automatically. Evaluation using a contrived java program shows that multiple GC threads do precleaning. More detailed testing results are available in the JBS ticket.
>> 
>> Test: hotspot_gc
>
> Albert Mingkun Yang has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - review
>  - Revert "worker_id"
>    
>    This reverts commit 0841db5c5c2b39372058b6ba0d8027aae3716669.

Nice improvement. I have one suggestion, but feel free to ignore it if you don't agree.

The new logging is on par with the old one, but I think it would be nice to make it more consistent with other reference processing logging. We currently have other logging that look like this for example:

[228,965s][debug][gc,phases,ref  ] GC(38)   SoftReference:
[228,965s][debug][gc,phases,ref  ] GC(38)     Discovered: 0
[228,965s][debug][gc,phases,ref  ] GC(38)     Cleared: 0
[228,965s][debug][gc,phases,ref  ] GC(38)   WeakReference:
[228,965s][debug][gc,phases,ref  ] GC(38)     Discovered: 0
[228,965s][debug][gc,phases,ref  ] GC(38)     Cleared: 0
[228,965s][debug][gc,phases,ref  ] GC(38)   FinalReference:
[228,965s][debug][gc,phases,ref  ] GC(38)     Discovered: 0
[228,965s][debug][gc,phases,ref  ] GC(38)     Cleared: 0
[228,965s][debug][gc,phases,ref  ] GC(38)   PhantomReference:
[228,965s][debug][gc,phases,ref  ] GC(38)     Discovered: 0
[228,965s][debug][gc,phases,ref  ] GC(38)     Cleared: 0


Maybe saying "Precleaned instead of "Cleared". Took a quick look at the ref-printing code and if you feel that this is a good idea but should be as a separate thing I'm good with that as well.

-------------

PR: https://git.openjdk.java.net/jdk/pull/6327


More information about the hotspot-gc-dev mailing list