RFR: 8264026: Remove dependency between free collection set and eagerly reclaim humongous object tasks

Stefan Johansson sjohanss at openjdk.java.net
Wed Mar 24 10:17:39 UTC 2021


On Wed, 24 Mar 2021 08:41:37 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

>> src/hotspot/share/gc/g1/g1CollectedHeap.cpp line 4488:
>> 
>>> 4486: void G1CollectedHeap::rebuild_free_region_list() {
>>> 4487:   Ticks start = Ticks::now();
>>> 4488:   _hrm.rebuild_free_list(workers());
>> 
>> The first thing done in`rebuild_free_list()` is to drop the current free_list to rebuild if from scratch. So we should now be able to remove the call `prepend_to_freelist(&local_cleanup_list)` in `eagerly_reclaim_humongous_regions()`. Doing so the `local_cleanup_list` is only used for printing, and we should probably investigate if this can be done differently.
>
> There is [JDK-8264027](https://bugs.openjdk.java.net/browse/JDK-8264027) filed for this. For now I was planning to keep this gathering of regions into the list but just factor out the printing code (as it's copy&pasted a bit), but we can certainly talk about more invasive measures.
> 
> The only way I see for now is that instead of gathering the elements in the list and printing in one go is printing immediately if we keep this functionality...
> 
> Thanks for your review.

I agree, I think printing as we go sounds reasonable.

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

PR: https://git.openjdk.java.net/jdk/pull/3154



More information about the hotspot-gc-dev mailing list