RFR (M): 8071913: Filter out entries to free/uncommitted regions during iteration
Stefan Johansson
stefan.johansson at oracle.com
Wed Oct 3 09:12:44 UTC 2018
On 2018-10-02 13:28, Thomas Schatzl wrote:
> Hi all,
>
> can I have reviews for this change that makes sure that remembered
> set entries to free or uncommitted regions are not touched during GC?
>
> In order to implement uncommitting regions at remark we need to make
> sure that these regions and their corresponding side data structures
> are not touched by GC any more.
>
> This change adds a simple filter in the remembered set iterator plus
> some careful changes in various locations of the code to avoid just
> that.
>
> There are alternatives to this changes that have been considered but
> ultimately rejected:
>
> - drop remembered sets when freeing regions: this would require us to
> scan all remembered sets for such regions which is slow.
>
> - do the filtering directly in the iterator: while this has been
> prototyped, and even gives a significant improvement in pause times
> (~5%), the change would be much larger (1500 LOC). Since I am currently
> reworking the remembered sets completely, I found it a waste of
> reviewer's time to let you do this review now, and shortly afterwards
> throw away all that code. I will incorporate the improvements into the
> new code though. :)
>
> If the remembered set changes won't make it e.g. for 12, we might
> consider taking these changes in at a later time.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8071913
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8071913/webrev/
Looks good, I agree that going with this simpler approach is a good
first step.
Thanks
Stefan
> Testing:
> hs-tier1-5,jdk-tier1-3, perf tested, no change in pause times or
> (throughput) scores
>
> Quite a few gc tests do extensive commit/uncommit of regions with the
> corresponding exercise of the code.
>
> Thanks,
> Thomas
>
>
More information about the hotspot-gc-dev
mailing list