RFR [XS][6/7]: 8197928: Only enqueue deferred cards with references into regions that have a tracked remembered set during GC
Stefan Johansson
stefan.johansson at oracle.com
Thu Mar 8 12:52:56 UTC 2018
Hi Thomas,
On 2018-03-05 16:25, 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. :)
I agree, let's start out with this approach and we can re-visit this
later if needed.
Reviewed,
Stefan
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8197928
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8197928/webrev/
> Testing:
> hs-tier1-5, ...
>
> Thanks,
> Thomas
>
More information about the hotspot-gc-dev
mailing list