RFR: 8338977: Parallel: Improve heap resizing heuristics [v3]

Albert Mingkun Yang ayang at openjdk.org
Sun May 18 15:25:00 UTC 2025


On Tue, 13 May 2025 15:59:19 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

>> Albert Mingkun Yang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision:
>> 
>>  - review
>>  - Merge branch 'master' into pgc-size-policy
>>  - review
>>  - Merge branch 'master' into pgc-size-policy
>>  - pgc-size-policy
>
> src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp line 51:
> 
>> 49: #include "oops/oop.inline.hpp"
>> 50: #include "runtime/cpuTimeCounters.hpp"
>> 51: #include "runtime/globals_extension.hpp"
> 
> Don't see why it is needed.

It's needed for `FLAG_IS_DEFAULT`; got a build error without this include.

> src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp line 404:
> 
>> 402:     collect_at_safepoint(!should_run_young_gc);
>> 403: 
>> 404:     if (is_gc_overhead_limit_reached()) {
> 
> Maybe want to adopt current algorithm, start to clear soft references when approaching gc overhead limit?
> Running a full gc and clearing all soft references without retrying allocation and throws OOM, seems a bit harsh.
> 
> People still use soft references for caches, reclaim soft references could potentially free large amount of memory.

Revised a bit; the limitation of what we have on master is that it doesn't detect gc-overhead for young-gcs. If many young-gcs are run, gc-overhead checking should kick in as well.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25000#discussion_r2094553207
PR Review Comment: https://git.openjdk.org/jdk/pull/25000#discussion_r2094554006


More information about the hotspot-dev mailing list