RFR: 8305896: Alternative full GC forwarding [v30]

Roman Kennke rkennke at openjdk.org
Thu May 4 14:34:27 UTC 2023


On Thu, 4 May 2023 13:50:36 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

> LGTM. I ok this now; my remaining comments are suggestions - up to you to take them or not.

Thanks!
 
> Tests are missing. A simple way would be to run a selection of our standard GC tests with +AltGCForwarding. This is especially important if you follow Thomas' advice and make AltGCForwarding a develop switch.

I run hotspot_gc with UseAltGCForwarding turned on. Not sure if there is an easy way to make this a test task. I could perhaps add a few run configurations to tests that are useful. For example, gc/stress/TestMultiThreadStressRSet.java tended to exercise both the sliding-forwarding and the fallback-forwarding But would the develop-only switch not complicate this? Because it means we could only run such tests in debug builds.

> The only other thing that occurred to me is that you could probably change initialization: don't require caller to specify it but calculate it yourself such that the 28 bit offset is maximally used. That would save some memory since the bases table can be smaller. Again, up to you.

Yeah maybe. SpaceAlignment should be set by all GCs to a reasonable region-size, we could probably just pick that up. OTOH, we need a little bit of cooperation from the GC here: The whole sliding-forwarding algo relies on the fact that GC workers divide up their work based on their regions, and are essentially single-threaded within their work queues. I'm a bit worried about touching this stuff at this point, and cause another round of reviews.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/13582#issuecomment-1534889536


More information about the hotspot-gc-dev mailing list