RFR (M): 8071913: Filter out entries to free/uncommitted regions during iteration

Thomas Schatzl thomas.schatzl at oracle.com
Mon Oct 15 10:59:02 UTC 2018


Hi all,

  ping for a second review.

Thomas

On Tue, 2018-10-02 at 13:28 +0200, 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/
> 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