RFR [XS][6/7]: 8197928: Only enqueue deferred cards with references into regions that have a tracked remembered set during GC

sangheon.kim sangheon.kim at oracle.com
Mon Mar 26 22:43:38 UTC 2018


Hi Thomas,

On 03/05/2018 07:25 AM, Thomas Schatzl wrote:
> Hi all,
>
>    can I have reviews for this tiny change that optimizes evacuation a
> little: in particular, when updating the remembered sets (enqueuing
> cards), we do not need to do this for regions where we do not track the
> remembered sets.
>
> The suggested implementation is rather primitive, I have not noticed
> pause time impact on doing so (of course it can lessen the concurrent
> work later).
>
> An alternative implementation I considered has been to create a per-
> region map with a single flag that contains the "needs-update/does-not-
> need-update" information, like the _fast_in_cset_state table.
>
> However creating such a table requires G1 to iterate over all regions
> before evacuation, and that would be something that needs to be added
> as G1 does not do that yet.
>
> Another would be to move remembered set state/remembered sets outside
> of the region, so it can be accessed quickly during GC.
>
> In any case I thought this implementation is better than not doing it,
> hoping for some input here. :)
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8197928
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8197928/webrev/
Looks good to me too.

Thanks,
Sangheon


> Testing:
> hs-tier1-5, ...
>
> Thanks,
>    Thomas
>




More information about the hotspot-gc-dev mailing list