RFR: 8302215: G1: Last-ditch Full GC should do serial compaction for tail regions in per thread compaction points. [v2]
Ivan Walulya
iwalulya at openjdk.org
Thu Feb 16 08:40:28 UTC 2023
On Thu, 16 Feb 2023 08:03:50 GMT, Stefan Johansson <sjohanss at openjdk.org> wrote:
>> Actually, the existing full gc code probably already breaks the second assumption already when handing out regions round-robin, i.e. assuming that we get regions in increasing address order (but the code would still work without that I guess).
>
> I don't have a strong opinion on how to solve this, but I agree with Albert. I think adding a bitmap to keep track of what regions to put in the serial cp and removing them from the others would be less code. But I might be missing some case. I don't see this as an optimization I see it as a more straight forward solution. But we all have different tastes on how to solve things. So I'm good if you want to keep the sort.
With the current assumption of ordered region iteration, then Bitmap based solution seems the best to me. It also solves later issues of sorting when adding humongous objects for compaction. We just use the same bitmap to keep track of regions that are available for humongous compaction.
-------------
PR: https://git.openjdk.org/jdk/pull/12529
More information about the hotspot-gc-dev
mailing list