RFR: 8346920: Serial: Support allocation in old generation before GC [v2]

Albert Mingkun Yang ayang at openjdk.org
Mon Jan 20 20:05:35 UTC 2025


On Mon, 20 Jan 2025 14:55:05 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

> As far as I understand the change, this change prevents "back-to-back" GCs, opting for allocating everything into the old generation (if not full) instead.

I would not say this patch prefers allocation-in-old-gen over running gc. The behavior is governed by `GCTimeRatio`. One can get back the original behavior with a small `GCTimeRatio`.

> Did you run some other benchmarks with this change? (Maybe the smaller dacapo benchmarks at "reasonably" sized heaps will show something?)

Tried dacapo bms but no perf diff using 2x-live-size heap sizes. (This patch mostly affects the back-to-back gc case, which should be rare in properly configured system/bms.)

> It seems to fix a (rare?) policy issue, but at the same time adds a new mechanic (use of GCTimeRatio) for Serial GC.

Currently, there is no way to tune Serial based on app-vs-gc time, and this patch essentially adds that support.

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

PR Comment: https://git.openjdk.org/jdk/pull/22899#issuecomment-2603158491


More information about the hotspot-gc-dev mailing list