RFR: 8337511: Implement JEP 404: Generational Shenandoah (Experimental) [v6]
Aleksey Shipilev
shade at openjdk.org
Thu Nov 14 19:34:14 UTC 2024
On Wed, 13 Nov 2024 23:17:44 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp line 50:
>>
>>> 48: switch (generation_type) { \
>>> 49: case NON_GEN: \
>>> 50: return prefix " (NON-GENERATIONAL)" postfix; \
>>
>> In the interest of keeping the non-generational Shenandoah logging intact, should we drop ` (NON-GENERATIONAL)` here?
>
> No objections here. @ysramakrishna , @kdnilsen ?
See, with current code, default Shenandoah prints this:
[0.025s][info][gc] GC(0) Concurrent reset (NON-GENERATIONAL) (unload classes) 0.135ms
[0.025s][info][gc] GC(0) Pause Init Mark (NON-GENERATIONAL) (unload classes) 0.018ms
[0.025s][info][gc] GC(0) Concurrent marking roots 0.097ms
[0.029s][info][gc] GC(0) Concurrent marking (NON-GENERATIONAL) (unload classes) 4.050ms
[0.029s][info][gc] GC(0) Pause Final Mark (NON-GENERATIONAL) (unload classes) 0.123ms
[0.029s][info][gc] GC(0) Concurrent thread roots 0.205ms
[0.029s][info][gc] GC(0) Concurrent weak references (NON-GENERATIONAL) (unload classes) 0.014ms
[0.029s][info][gc] GC(0) Concurrent weak roots (NON-GENERATIONAL) (unload classes) 0.047ms
[0.029s][info][gc] GC(0) Concurrent cleanup (NON-GENERATIONAL) (unload classes) 40M->40M(2064M) 0.006ms
[0.029s][info][gc] GC(0) Concurrent class unloading 0.035ms
[0.029s][info][gc] GC(0) Concurrent strong roots 0.119ms
This is not great: experimental GenShen should not affect the logging for current product code. There is a risk we would be breaking some GC parsers if we change it.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21273#discussion_r1842764603
More information about the serviceability-dev
mailing list