RFR: 8328278: Serial: Compute tenuring threshold before GC
Albert Mingkun Yang
ayang at openjdk.org
Tue Mar 19 09:20:20 UTC 2024
On Tue, 19 Mar 2024 02:54:03 GMT, Guoxiong Li <gli at openjdk.org> wrote:
> because the threshold 12 is the new threshold computed based on the age table stats presented in the table, corresponding to the demographics recorded in this collection.
This is how I interpreted the output as well, but Serial and G1 differ here. The printed format is identical, `-Xlog:gc+age=trace`:
# Serial
[4.318s][trace][gc,age] GC(2) Age table with threshold 15 (max threshold 15)
# G1
[3.156s][trace][gc,age] GC(4) Age table with threshold 1 (max threshold 15)
In the Serial case, `threshold 15` refers to the threshold that will be use in next gc-pause `GC(3)`, while `threshold 1` refers to the value used in current gc-pause `GC(4)`.
(One should check callers of `AgeTable::print_age_table` to get the actual semantics of the printed threshold.)
> May be we can start by sharing, as I requested in my previous comment, with a G1GC and a SerialGC log and discuss what is the bug you are trying to fix.
Hopefully, with the example above, you agree this is a problem?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/18329#issuecomment-2006452430
More information about the hotspot-gc-dev
mailing list