RFR: 8333786: Serial: Remove SerialHeap::_incremental_collection_failed [v3]
Thomas Schatzl
tschatzl at openjdk.org
Fri Jun 14 12:44:13 UTC 2024
On Fri, 14 Jun 2024 12:10:33 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:
> > What does "the heap can be too full to be handled properly by full-gc" mean?
>
> https://bugs.openjdk.org/browse/JDK-8333928 is an example. (I also encountered sth similar locally, when supporting allocation-in-from.)
This is a very recent crash. Do you have an idea why this surfaced just recently and did not crash before? Or did the functionality never work?
> > Can you describe the case, the current behavior and the new behavior in more detail?
>
> The master behavior is about increasing probability of surviving tight heap, by allocating-in-from. (Usually, one allocates only in eden for young-gen.) The new behavior is about removing the special case of allocation-in-from, streamlining the allocation-logic.
>
> > Is this really required? Why remove functionality and not fix?
>
> One can try to fix the support for allocating-in-from, but introduces significant complexity (full-gc needs to very careful about deciding where objs are forwarded to avoid fragmentation, instead of current simple sliding-logic).
To me the old behavior seems preferable. It seems to be used/exercised as well given that crash. Serial gc is targeted to running on small/tiny heaps.
Not that I am too hung up on that feature, but removing existing functionality seems to need to be weighed against the benefits. This change does not seem to remove too complicated code, but maybe there are more benefits I can't see right now.
Maybe some recent change needs to be reverted instead of removing existing in-use functionality.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19594#issuecomment-2167949783
More information about the hotspot-gc-dev
mailing list