RFR (M): 8071913: Filter out entries to free/uncommitted regions during iteration
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
> 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.
Looks good, I agree that going with this simpler approach is a good
> 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.
More information about the hotspot-gc-dev